无法更新chromedriver和seleniumrelease

时间:2015-04-07 03:16:32

标签: selenium cmd protractor selenium-chromedriver

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

npm install -g protractor

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

webdriver-manager update

因此我的cmd尝试与https://chromedriver.storage.googleapis.com/2.14/chromedriver_win32.ziphttps://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。当我浏览网址时,一切正常。但不是在cmd。有人能帮我吗? PS:网址无法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

4 个答案:

答案 0 :(得分:17)

对我来说也是如此。问题是由于我们在公司内部使用的代理。

webdriver-manager的参数为--proxy,您可以在其中指定webdriver命令应使用的代理。 你可能在nmp中使用的代理配置(用户指南中的.npmrc文件)对于webdriver-manager不起作用。

这里有一个适合我的例子。

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

答案 1 :(得分:9)

如果设置你的代理不起作用,我怎么了,你可以从控制台的url show手动下载文件,然后把它们放到selenium文件夹中

Windows中的路径是:

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

这适合我。

我希望有帮助

答案 2 :(得分:2)

  

请继续阅读 webdriver-manager更新是否未更新chromedriver   到最新的。

我在与"Unable to discover open pages"的问题相关的几周内失去了我的头发,每次我更新chromedriver时,它会更新为version 2.22 chromedriver,我相信selenium服务器为{ {1}}。 我的问题不是真的与selenium服务器,所以v2.53很好。

v2.53

尽管this chromdriver link显示有2.24的最新版本,Issue was with chromedriver v2.22. 不会获取最新版本,但它只会获取版本2.22的Chrome驱动程序。

  

我是如何解决这个问题的?

检查此链接后,只需运行以下命令,了解要更新的chromedriver版本;例如,我想要v2.24所以我运行了以下命令:

  

webdriver-manager update --versions.chrome 2.24

如果您检查了自己的位置:'webdriver-manager update'

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

希望能帮助别人!

答案 3 :(得分:1)

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

如果您可以手动下载文件,只需手动将它们放入selenium目录即可。该脚本还将“chromedriver_win32.zip”解压缩到位,以获取其中包含的chromedriver二进制文件。