我已经配置好一些内容:
1.安装了谷歌驱动
2.已经把这个驱动包移动到了usr/bin目录下
3.我也安装了selenium
执行python脚本的内容:
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("http://www.baidu.com")
print(browser.page_source)
browser.close()
1.顺着第一个报错走
出现了报错:raise WebDriverException( selenium.common.exceptions.WebDriverException: Message: ‘chromeDriver
看描述也就是selenium模块无法找到chromeDriver,
来个排查步骤吧.把目录切换到chromeDriver的哪个目录下,执行下命令.chromeDriver
,看看是否能加载这个驱动:可能会出现以下报错:
1.切换到目录下执行下命令:
.chromeDriver
ibnss3 : Depends: libnspr4 (>= 2:4.12) but 2:4.10.2-1ubuntu1 is to be installed libnss3-nssdb : Depends: libnss3 (= 2:3.23-0ubuntu0.14.04.1) but 2:3.28.4-0ubuntu0.14.04.3 is to be installed E: Unmet dependencies. Try ‘apt-get -f install’ with no packages (or specify a solution).
刚开始尝试着通过apt-get -f install类似命令安装,但是有报了错: 提示缺少libnss3这个包:
【Linux】-- apt-get install 出错,Python 未配置
上个报错的解决方案是:
1.在 terminal(命令行终端) 中执行下面语句
cd /var/lib/dpkg
sudo mv info info.bak
sudo mkdir info
2.再执行修复命令
sudo apt-get -fix -broken install
3.修复好重新安装libnss3
sudo apt-get install libnss3
这次再在驱动的目录下执行命令:
.chromeDriver
加载驱动成功的话会出现如下:
Starting ChromeDriver
…
2.第一个报错不再出现,又出现了如下第二个报错:
DeprecationWarning: executable_path has been deprecated, please pass in a Service objectbrowser = webdriver.Chrome(path)
这是因为在之前版本executable_path是我们Selenium驱动的存放路径,只有使用executable_path指定出该路径,Selenium才能正常工作,但是Selenium经过版本更新之后,在使用如上写法时,系统就会报错executable_path has been deprecated, please pass in a Service object,如下所示:文章来源:https://www.toymoban.com/news/detail-770127.html
所有我们需要添加一个模块并修改一下代码
from selenium.webdriver.chrome.service import Service
from selenium import webdriver
#### url地址
url = 'http://www.baidu.com'
#### 定义chrome驱动去地址
path = Service('chromedriver.exe')
#### 创建浏览器操作对象
browser = webdriver.Chrome(service=path)
browser.get(url)
我们在执行就会发现,不再会报错了,因为我们已经将驱动器路径定义给了service文章来源地址https://www.toymoban.com/news/detail-770127.html
到了这里,关于linux下安装python插件selenium遇到的问题汇总的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!