Ake*_*ndo 143 python linux selenium automated-tests google-chrome
我在使用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'
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我在启动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'
Run Code Online (Sandbox Code Playgroud)
我也尝试通过启动chrome来解决问题:
chromium --remote-shell-port=9222
但是,这也不起作用.
PS.这是关于我的系统的一些信息:
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
ada*_*her 131
您需要确保独立的ChromeDriver二进制文件(与Chrome浏览器二进制文件不同)位于您的路径中,或者在webdriver.chrome.driver环境变量中可用.
有关如何连接的详细信息,请参阅http://code.google.com/p/selenium/wiki/ChromeDriver.
编辑:
是的,似乎是Python绑定中的一个错误,从路径或环境变量中读取chromedriver二进制文件.似乎chromedriver不在您的路径中,您必须将其作为参数传递给构造函数.
import os
from selenium import webdriver
chromedriver = "/Users/adam/Downloads/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get("http://stackoverflow.com")
driver.quit()
Run Code Online (Sandbox Code Playgroud)
Vic*_*cky 106
对于Linux
chromium-browser -version
sudo apt-get install chromium-browser
/usr/bin
目录sudo mv chromedriver /usr/bin
/usr/bin
目录cd /usr/bin
sudo chmod a+x chromedriver
标记可执行文件的内容.最后你可以执行代码.
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.google.com")
print driver.page_source.encode('utf-8')
driver.quit()
display.stop()
Run Code Online (Sandbox Code Playgroud)Jac*_*hin 93
仅适用于Mac OSX
一个更简单的方法(假设您已经安装了自制软件,如果没有安装自制软件,那么首先应该这样做,让自制程序让您的生活更美好)就是运行以下命令:
brew install chromedriver
Run Code Online (Sandbox Code Playgroud)
那应该把chromedriver放在你的道路上,你应该全力以赴.
Abd*_*eed 52
从此直接链接 下载ChromeDriver 或从此页面获取最新版本.
将chromedriver.exe
文件粘贴到您的C:\Python27\Scripts
文件夹中.
这应该现在有效:
from selenium import webdriver
driver = webdriver.Chrome()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
235021 次 |
最近记录: |