selenium-webdriver - 如何确认我使用的是正确的 chromedriver?

标签 selenium-webdriver selenium-chromedriver

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

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

谷歌搜索发现这可能是由过时的 chromedriver 引起的。或 selenium-webdriver ,这听起来很合理,因为很长一段时间都没有更新(我认为 chromedriver 位于 2.2selenium-webdriver 位于 2.35.1 ),并且因为 Chrome 自动更新为 32.0.1700.77 1 月 14 日,这对我来说似乎是很好的可靠证据。

所以我更新了 selenium-webdriver2.39.0 .弄清楚 chromedriver 的版本我一直在用,结果发现更难。我有一个版本的 chromedriver坐在我认为我的代码所指的下载目录中,但我在 PATH 中找不到我的下载目录(顺便说一下,我正在使用 OS X)。我尝试用版本 2.8 替换此文件来自 here ,但没有效果。我开始怀疑我的下载目录中的版本是最初使用的版本,所以我使用 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 , 但除了 2.8 没有其他版本由 brew 安装(所以我怀疑 brew 不小心使用了旧版本),当我运行直接下载的文件时,我很确定它是版本 2.8来自 Chromedriver 网站。这是他们的疏忽,还是v2.2指的是别的东西,虽然这看起来不太可能?

最佳答案

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

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

  • 转到您拥有 chromeDriver 的文件夹
  • 打开指向文件夹
  • 的命令提示符
  • 运行:chromeDriver -v
  • 关于selenium-webdriver - 如何确认我使用的是正确的 chromedriver?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21166408/

    相关文章:

    C# Selenium Chrome 端口问题?

    java - Selenide 和 ChromeDriver (Java)

    java - Selenium 使用 Java.io FileUtils.copyFile 来动态目标文件名

    Python Selenium chrome - 如何禁用用户输入

    css-selectors - 具有 style 属性的元素的 CSS 选择器

    java - 如何在每次测试之间清除 Chrome 浏览器状态?

    java - Selenium WebDriver waitForText()

    selenium - 如何使用 Selenium 获取页面上第一条新闻的标题信息

    java - 带有 Chrome 驱动程序的 Selenium 网格(WebDriverException : The path to the driver executable must be set by the webdriver. chrome.driver 系统属性)

    python - 将 chromedriver 与 selenium/python/ubuntu 一起使用