我在使用Selenium时遇到了一个问题。对于我的项目,我必须使用Chrome。但是,我在使用Selenium启动后无法连接到该浏览器。
由于某些原因,Selenium无法自己找到Chrome,这就是我在没有路径的情况下启动Chrome时发生的情况:
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome() # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 58, in start
and read up at http://code.google.com/p/selenium/wiki/ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path. Please download from http://code.google.com/p/selenium/downloads/list and read up at http://code.google.com/p/selenium/wiki/ChromeDriver'
为了解决这个问题,我在启动Chrome的代码中加入了Chromium路径,但是解释器找不到要连接的套接字:
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome('/usr/bin/chromium') # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 64, in start
raise WebDriverException("Can not connect to the ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'Can not connect to the ChromeDriver'
我也尝试过用以下命令启动chrome来解决这个问题:
chromium --remote-shell-port=9222
然而,这也不起作用。
附言。以下是关于我的系统的一些信息:
www-client: chromium 15.0.874.121
dev-lang: python 2.7.2-r3 Selenium 2.11.1
OS: GNU/Linux Gentoo Kernel 3.1.0-gentoo-r1
8条答案
按热度按时间qf9go6mv1#
您需要确保独立的ChromeDriver二进制文件(与Chrome浏览器二进制文件不同)在您的路径中或在webdriver. chrome. driver环境变量中可用。
有关如何连接的完整信息,请参见http://code.google.com/p/selenium/wiki/ChromeDriver。
编辑:
对,看起来是Python绑定中的一个bug,wrt从路径 * 或 * 环境变量读取chromedriver二进制文件。看起来如果chromedriver不在你的路径中,你必须把它作为一个参数传递给构造函数。
tnkciper2#
1.检查您是否安装了最新版本的chrome brwoser-〉
chromium-browser -version
1.如果没有,请安装最新版本的chrome
sudo apt-get install chromium-browser
1.从here获取适当版本的chrome驱动程序
1.解压缩www.example.com chromedriver.zip
1.将文件移动到
/usr/bin
目录sudo mv chromedriver /usr/bin
1.转到
/usr/bin
目录cd /usr/bin
1.现在,您需要运行类似
sudo chmod a+x chromedriver
这样的代码来将其标记为可执行。1.最后你可以执行代码。
gj3fmq9x3#
仅适用于Mac OS X
一个更简单的方法是运行下面的命令(假设您已经安装了Homebrew,如果没有,您应该先安装,让Homebrew让您的生活变得更好):
这应该会把chromedriver放在你的路径上,你应该已经准备好了。
v8wbuo2f4#
适用于Windows
从this direct link下载ChromeDriver***或***从this page获取最新版本。
将
chromedriver.exe
文件粘贴到C:\Python27\Scripts
文件夹中。现在应该可以了:
sqyvllje5#
对于Windows,请将
chromedriver.exe
放在<Install Dir>/Python27/Scripts/
下。4dc9hkyq6#
在Ubuntu上,你可以这样做:
应该会有用的。
5rgfhyps7#
在Google Chrome中运行Selenium Python测试有两种方法。我考虑使用Windows(我的例子是Windows 10):
方式1:
i)将下载的ZIP文件解压到您选择的目录/位置
ii)在代码中设置可执行路径,如下所示:
方式2:
i)只需将 * chromedriver. exe * 粘贴到 〈安装目录〉/Python/Scripts/下(在我的例子中,文件夹是: C:\Python 36\脚本)
ii)现在编写如下简单代码:
0mkxixxg8#
对于Windows的IDE:
如果您的路径不起作用,您可以尝试将
chromedriver.exe
添加到您的项目中,就像下面的项目结构一样。然后你应该在你的主文件中加载
chromedriver.exe
。至于我,我在driver.py
中加载了driver.exe
。..
表示driver.py's
上层目录.
表示driver.py
所在的目录