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

Jam*_*eau 15 selenium-chromedriver selenium-webdriver

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

Selenium::WebDriver::Error::UnknownError: unknown error: unable to discover open pages
Run Code Online (Sandbox Code Playgroud)

谷歌搜索显示,这可能是由于过时chromedriverselenium-webdriver听起来非常合理,因为它们都没有在很长一段时间内更新(我认为chromedriver是在2.2selenium-webdriver之前2.35.1),并且自从Chrome自动更新到32.0.1700.771月份14,这对我来说似乎是很好的证据.

所以我已经更新selenium-webdriver到了2.39.0.弄清楚chromedriver我一直在使用的版本实际上变得更加困难.我有一个版本chromedriver坐在我认为我的代码所指的我的下载目录中,但是我找不到我的下载目录PATH(顺便说一下我使用的是OS X).我试着用版本替换该文件2.8这里,但它没有任何效果.我对下载目录中的版本是首先使用的版本持怀疑态度,所以我用brew来安装它.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
Run Code Online (Sandbox Code Playgroud)

看起来不错.我的PATH包含/usr/local/bin,其中包含chromedriver安装到的位置brew 的链接.据我了解,这应该允许我的自动化检测和启动chromedriver.

不幸的是,我的问题仍然没有得到解决.我留下来了unable to discover pages.任何人都可以确认我已经做了通常做的设置chromedriver吗?

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

Starting ChromeDriver (v2.2) on port 9515
Run Code Online (Sandbox Code Playgroud)

这是正常的吗?我当然不希望它说v2.2,但除了2.8brew安装之外没有其他版本(所以我怀疑brew是不小心使用旧版本),当我运行我直接下载的文件时,我很确定它的版本2.8来自Chromedriver网站.这是他们的疏忽,还是v2.2指其他东西,虽然看起来不太可能?

sri*_*sri 8

使用进行下载时,要经常验证chrome驱动程序的版本会很棘手homebrew。我建议下载驱动程序并将其维护在PATH映射的文件夹中。

因此,通过以下步骤可以轻松维护或识别驱动程序版本:

  1. 转到您拥有chromeDriver的文件夹
  2. 指向文件夹的打开命令提示符
  3. 跑: chromeDriver -v

  • 公平的评论。但是,我在Windoze上运行,想知道我正在运行的chromedriver版本。Google将我带到这里,答案非常有用。因此,这是我的反对。 (3认同)
  • 杜德,`.exe`?他明确地谈论了Mac数据包管理器“ homebrew”。你甚至读过这个问题吗? (2认同)

dja*_*fan 0

ChromeDriver现在版本为 2.16。我建议手动更新您的驱动程序,而不是使用自制程序想要更新到的任何旧版本进行更新。