我如何确认我使用的是正确的镀铬液?

时间:2014-01-16 15:47:14

标签: selenium-webdriver selenium-chromedriver

我昨天早上来到办公室,发现我的Capybara测试无法与Chrome互动。我正在看

Selenium::WebDriver::Error::UnknownError: unknown error: unable to discover open pages

谷歌搜索显示这可能是由于过时的chromedriverselenium-webdriver引起的,这听起来很合理,因为它们都没有在很长一段时间内更新过(我认为{{1} {}}位于chromedriver2.2位于selenium-webdriver),自1月14日Chrome自动更新为2.35.1后,这似乎是我的明确证据。< / p>

所以我已将32.0.1700.77更新为selenium-webdriver。弄清楚我一直在使用的2.39.0版本实际上变得更加困难。我的下载目录中有一个chromedriver版本,我想到我的代码所指的,但是我找不到chromedriver中的下载目录(我' m顺便使用OS X)。我尝试使用here中的版本PATH替换此文件,但它没有任何效果。我对下载目录中的版本是首先使用的版本持怀疑态度,所以我用brew来安装它。 2.8现在产生:

brew info chromedriver

看起来不错。我的chromedriver: stable 2.8 http://code.google.com/p/chromedriver/ /usr/local/Cellar/chromedriver/2.8 (2 files, 21M) * Built from source From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/chromedriver.rb 包含PATH,其中包含安装到的位置brew的/usr/local/bin链接。据我了解,这应该允许我的自动化检测并启动chromedriver

不幸的是,我的问题仍未得到解决。我留下chromedriver。任何人都可以确认我已经完成了设置unable to discover pages的正常操作吗?

方面问题:直接下载chromedriver并将其与chromedriver 2.8一起安装后,我尝试单独启动下载的版本和brew版本以确认这两个版本都可以成功启动。我确定它们实际上都是版本brew,但当我启动其中任何一个时,控制台都说:

2.8

这是正常的吗?我当然不希望它说Starting ChromeDriver (v2.2) on port 9515 ,但除了{(1}} brew之外没有其他版本(所以我怀疑v2.2是偶然使用旧版本),当我运行我直接下载的文件,我很确定它是Chromedriver网站上的版本2.8。这是他们的疏忽,还是brew是指其他东西,尽管可能看起来不太可能?

3 个答案:

答案 0 :(得分:3)

  1. 转到您拥有yourDriver.exe的文件夹
  2. SHIFT + RIGHT CLICK - &gt;打开命令提示符
  3. 运行:yourDriver.exe -v

答案 1 :(得分:0)

ChromeDriver是at version 2.16 now。我建议手动更新驱动程序,而不是使用自制程序想要更新的旧版本进行更新。

答案 2 :(得分:0)

您可以使用命令行:pip freeze列出您安装的所有软件包及其版本。 或者您也可以使用pip show <package name>检查包的详细信息,其中还包括包版本。