无法更新 chromedriver 和 seleniumrelease

Can't update chromedriver and seleniumrelease

我尝试使用量角器。所以我遵循了一个小教程和我做的第一件事:

npm install -g protractor

这将安装两个命令行工具,protractor 和 webdriver-manager。 但现在我必须更新我的 webdriver-manager:

webdriver-manager update

所以我的 cmd 尝试连接 https://chromedriver.storage.googleapis.com/2.14/chromedriver_win32.zip and https://selenium-release.storage.googleapis.com/2.45/selenium-server-standalone-2.45.0.jar。 但它会给出这个错误:

C:\Program Files (x86)\Jenkins\workspace\testnew>webdriver-manager update
Updating selenium standalone
downloading https://selenium-release.storage.googleapis.com/2.45/selenium-server
-standalone-2.45.0.jar...
Updating chromedriver
downloading https://chromedriver.storage.googleapis.com/2.14/chromedriver_win32.
zip...
Error: Got error Error: getaddrinfo EAI_AGAIN from https://selenium-release.stor
age.googleapis.com/2.45/selenium-server-standalone-2.45.0.jar
Error: Got error Error: getaddrinfo EAI_AGAIN from https://chromedriver.storage.
googleapis.com/2.14/chromedriver_win32.zip

有时是 EAI_AGAIN 错误,有时是 ENOTFOUND。 但我不明白的是,我可以在浏览器中手动下载 zip 和 jar。当我浏览 URL 时一切正常。但不在cmd中。有人能帮我吗? PS:无法对 url 的

执行 ping 操作

更新:代理设置后出现此错误:

Error: Got error Error: tunneling socket could not be established, cause=socket
hang up from https://chromedriver.storage.googleapis.com/2.14/chromedriver_win32
.zip

您的 Web 浏览器可能正在使用代理或其他一些间接访问 webdriver-manager 脚本未配置使用的更广泛的互联网。 (如果您知道要传递给它的内容,webdriver-manager 支持 --proxy 参数。)

如果能手动下载文件,就手动放到selenium目录下即可。该脚本还将 "chromedriver_win32.zip" 解压到位,以获取其中包含的 chromedriver 二进制文件。

如果设置你的代理不起作用,我怎么了,你可以从控制台显示的urls手动下载文件,并将它们放入selenium文件夹

Windows中的路径是:

users\username\AppData\Roaming\npm\node_modules\protractor\selenium

这对我有用。

希望对你有所帮助

我也遇到了同样的情况。问题是由于我们在公司内部使用的代理。

webdriver-manager 有一个参数是 --proxy,您可以在其中指定 webdriver 命令应使用的代理。 您在 nmp 中可能拥有的代理配置(您的用户目录中的 .npmrc 文件)不适用于 webdriver-manager。

这是对我有用的例子。

webdriver-manager --proxy http://yourproxy:8080 update

Read on if your webdriver-manager update doesn't update chromedriver to the latest.

我花了几周的时间来解决 "Unable to discover open pages" 的问题,每次我更新 chromedriver,它都会更新为 version 2.22 chromedriver 我相信 selenium 服务器 v2.53。 我的问题不在于 selenium 服务器,所以 v2.53 没问题。

Issue was with chromedriver v2.22. 

尽管 this chromdriver link 显示有 2.24 的最新版本,'webdriver-manager update' 不会选择最新版本,它只会获取 chrome [=33] 的 2.22 版本=].

How did I go around this?

简单地 运行 在你检查这个 link 你想更新到哪个版本的 chromedriver 之后,下面的命令;例如,我想要 v2.24,所以我 运行 下面的命令:

webdriver-manager update --versions.chrome 2.24

如果您检查您的位置:C:\Users\<USER>\AppData\Roaming\npm\node_modules\webdriver-manager\selenium\

您应该会看到所需的 chromedriver 已下载到那里;如果不存在,请阅读命令提示符日志,它会告诉您在哪里下载了您的 chromdriver 文件。

希望对某人有所帮助!