【发布时间】:2019-08-21 14:25:55
【问题描述】:
我昨天早上来到办公室,发现我的 Capybara 测试无法与 Chrome 交互。我看到了
Selenium::WebDriver::Error::UnknownError: unknown error: unable to discover open pages
谷歌搜索发现这可能是由过时的chromedriver 或selenium-webdriver 引起的,这听起来很合理,因为两者都没有更新很长时间(我认为chromedriver 是@987654327 @ 和 selenium-webdriver 在 2.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