2015-04-07 141 views
11

我嘗試使用量角器。於是我跟着一個小教程的第一件事情我做:無法更新chromedriver和seleniumrelease

npm install -g protractor 

這將安裝兩個命令行工具,量角器和webdriver的經理。 但現在我有更新我的webdriver經理:

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命令是不可能的URL的

更新:經過代理服務器設置我得到這個錯誤:

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 

回答

9

如果設置代理不起作用,它是如何發生在我身上,你可以手動下載文件從網址顯示在控制檯,並把它們納入硒文件夾

Windows中的路徑爲:

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

這對我很有用。

我希望能幫到

+0

也許你還需要下載一些特定的驅動程序 – dobleUber

1

你的網絡瀏覽器可能是使用代理,或者更廣泛的互聯網的一些其他間接訪問webdriver-manager腳本未配置爲使用。 (webdriver-manager支持--proxy參數,如果您知道要傳遞給它)。

如果您可以手動下載文件,只需手動將它們放入selenium目錄中即可。該腳本還解壓縮「chromedriver_win32.zip」以獲取包含在其中的chromedriver二進制文件。

+0

我怎樣才能找到我的代理或我應該自己配置它?所以你必須使用代理?我的設置說:使用系統中的代理設置。之後我必須這樣做? npm config set proxy http:// :port。 HTTP_PROXY = http://'你的http代理ip':'你的代理端口',設置HTTPS_PROXY = http://'你的https代理ip':'你的代理端口'。它適用於朋友:誰擁有設置:手動配置的代理(但他從來沒有這樣做)。我和他一樣,現在我得到這個錯誤: 錯誤:出現錯誤錯誤:無法建立隧道套接字,原因=套接字 掛斷... – lvthillo

+0

配置HTTP代理取決於您的網絡配置。只有當您的計算機和互聯網之間有網絡代理時,代理配置纔是必需的。我猜測你的網絡瀏覽器因爲你遇到的錯誤而有所瞭解。同樣,如果通過網絡瀏覽器下載文件,這可能已經足夠了。 –

14

對我來說也是這樣。問題是由於我們在公司內部使用的代理。

webdriver-manager有一個參數是--proxy,您可以在其中指定webdriver命令應該使用的代理。 您可能在nmp(用戶dicrectory中的.npmrc文件)中存在的代理配置對於webdriver-manager不起作用。

這裏是爲我制定的例子。

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

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

我失去了幾個星期拉我的頭髮圍繞一個問題,我曾與"Unable to discover open pages"和每次我都會更新chromedriver時,它會更新到version 2.22爲chromedriver我相信硒服務器v2.53。 我的問題是不是真的與硒服務器,所以V2.53罰款。

Issue was with chromedriver v2.22. 

Eventhough this chromdriver link顯示,有2.24最新版本,'webdriver-manager update'不會拿起最新版本,它只會搶鉻駕駛員的2.22版本。

How did I go around this?

只要運行下面的命令,在您檢查此鏈接後,您要更新哪個版本的chromedriver;舉例來說,我想v2.24所以我跑到下面的命令:

webdriver-manager update --versions.chrome 2.24

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

您應該看到希望的chromedriver被下載那裏。如果它不在那裏,請閱讀命令提示符日誌,它會告訴你它在哪裏下載了你的chromdriver文件。

希望能幫助別人!