【问题标题】:How do I confirm I'm using the right chromedriver?如何确认我使用的是正确的 chromedriver?
【发布时间】:2019-08-21 14:25:55
【问题描述】:

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

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

谷歌搜索发现这可能是由过时的chromedriverselenium-webdriver 引起的,这听起来很合理,因为两者都没有更新很长时间(我认为chromedriver 是@987654327 @ 和 selenium-webdriver2.35.1),自从 Chrome 于 1 月 14 日自动更新为 32.0.1700.77,这对我来说似乎是很好的确凿证据。

所以我已将selenium-webdriver 更新为2.39.0。弄清楚我一直在使用的chromedriver 的版本实际上变得更加困难。我有一个版本的chromedriver 位于我的下载目录中,我认为我的代码所指的是,但我在PATH 中找不到我的下载目录(我使用的是 OS X顺便一提)。我尝试用来自here 的版本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

看起来不错。我的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

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

【问题讨论】:

  • 你的完整路径是什么?我的意思是运行 chromedr 的用户之一。另外,为了知道 chromedriver 的版本是什么,它应该有一个 '-v' 标志
  • 我的建议不要使用 brew 安装 chromedriver,我使用这个 PATH /usr/bin/ 而不是 /usr/local/bin/ 从这里下载 chromedriver chromedriver.storage.googleapis.com/2.9/chromedriver_mac32.zip 解压缩并放在 PATH 上跨度>

标签: selenium-webdriver selenium-chromedriver


【解决方案1】:

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

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

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

【讨论】:

  • 公平评论。但是,我在 Windoze 上运行并想知道我正在运行的 chromedriver 的版本。谷歌把我带到了这里,答案非常有用。因此,这是我的赞成票。
  • 我们如何使用 python 获得这个(浏览器驱动版本)??
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2018-12-12
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 2018-12-31
      • 2014-08-30
      相关资源
      最近更新 更多