在 chrome 中运行 Selenium WebDriver Python 绑定

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

我还尝试用以下软件来解决这个问题:

chromium --remote-shell-port=9222

However, this did not work either.

PS. Here's some information about my system:

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
257245 次浏览

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

请参阅 http://code.google.com/p/selenium/wiki/ChromeDriver获得关于如何连接事物的完整信息。

编辑:

是的,看起来是 Python 绑定中的一个错误从路径 abc 0的环境变量读取 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()

只能用 Mac OSX

一个更简单的方法是运行以下命令(假设你已经安装了 自酿的,如果没有,你应该首先安装它,让自制程序让你的生活更美好) :

brew install chromedriver

这样应该可以把铬合金驱动器放在你的路径上,你应该已经准备好了。

对于窗口,请把 chromedriver.exe放在 <Install Dir>/Python27/Scripts/下面

为了 Linux

  1. 检查你已经安装了最新版本的 chrome 浏览器-> chromium-browser -version

  2. 如果没有,安装最新版本的铬 sudo apt-get install chromium-browser

  3. 从这里获得合适的 chrome 驱动程序版本

  4. 解压 Chromedriver.zip

  5. 将文件移动到 /usr/bin目录 sudo mv chromedriver /usr/bin

  6. 前往 /usr/bin目录 cd /usr/bin

  7. 现在,您需要运行类似 sudo chmod a+x chromedriver的程序来标记它是可执行的。

  8. 最后,您可以执行代码。

    from selenium import webdriver
    
    
    driver = webdriver.Chrome()
    driver.get("http://www.google.com")
    print driver.page_source.encode('utf-8')
    driver.quit()
    

窗户用的

这种直接联系下载 ChromeDriver 从 这一页获得最新版本。

chromedriver.exe文件粘贴到 C:\Python27\Scripts文件夹中。

现在应该可以了:

from selenium import webdriver
driver = webdriver.Chrome()

Windows IDE:

如果您的路径不工作,您可以尝试将 chromedriver.exe添加到您的项目中,就像在这个项目结构中一样。

chromedriver.exe

然后你应该在你的主文件中加载 chromedriver.exe。至于我,我在 driver.py中加载了 driver.exe

def get_chrome_driver():
return webdriver.Chrome("..\\content\\engine\\chromedriver.exe",
chrome_options='--no-startup-window')

..表示 driver.py's上层目录

.表示 driver.py所在的目录

希望这对你有帮助。

有两种方法可以在谷歌浏览器中运行 Selenium python 测试,我正在考虑 Windows (以我为例,是 Windows 10) :

先决条件: 从以下 https://sites.google.com/a/chromium.org/chromedriver/downloads 下载最新的 Chrome 驱动程序:

方法一:

I)在你选择的目录/位置解压下载的 zip 文件
Ii)在代码中设置可执行路径如下:

self.driver = webdriver.Chrome(executable_path='D:\Selenium_RiponAlWasim\Drivers\chromedriver_win32\chromedriver.exe')

方法二:

I)只需将 chromedriver.exe 粘贴到/Python/Scripts/下面(在我的示例中,文件夹是: C: Python 36 Scripts)
Ii)现在编写如下简单代码:

self.driver = webdriver.Chrome()

在 Ubuntu 上,你可以这样做:

sudo apt install chromium-chromedriver

应该会有用的。