关于ZAKER 融媒体解决方案 合作 加入

在 chrome 中运行 Selenium WebDriver python 绑定

CocoaChina 09-16

我在使用 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

但是 , 这也不起作用 .

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

最佳答案

您需要确保独立的 ChromeDriver 二进制文件 ( 与 Chrome 浏览器二进制文件不同 ) 位于您的路径中 , 或者在 webdriver.chrome.driver 环境变量中可用 .

有关如何连线的详细信息 , 请参阅http://code.google.com/p/selenium/wiki/ChromeDriver.

编辑:

是的 , 似乎是 Python 绑定中的一个错误 , 从路径或环境变量中读取 chromedriver 二进制文件 . 似乎 chromedriver 不在您的路径中 , 您必须将其作为参数传递给构造函数 .

import osfrom selenium import webdriverchromedriver = "/Users/adam/Downloads/chromedriver"os.environ [ "webdriver.chrome.driver" ] = chromedriverdriver = webdriver.Chrome ( chromedriver ) driver.get ( "https://stackoverflow.com" ) driver.quit ( )

以上内容由"CocoaChina"上传发布 查看原文
相关标签 chromepython

觉得文章不错,微信扫描分享好友

扫码分享