我尝试使用量角器。所以我遵循了一个小教程和我做的第一件事:
npm install -g protractor
这将安装两个命令行工具,量角器和webdriver-manager。 但现在我必须更新我的webdriver-manager:
webdriver-manager update
因此我的cmd尝试与https://chromedriver.storage.googleapis.com/2.14/chromedriver_win32.zip和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。当我浏览网址时,一切正常。但不是在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
答案 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
二进制文件。