我需要在没有互联网接入的机器上安装和使用Protractor / Selenium。
为此,我尝试下载所有需要的文件并将它们复制到目标机器。
我的机器上的(有互联网接入)
我使用以下命令安装了量角器和Selenium:
npm install -g protractor
webdriver-manager update目标计算机上的(无因特网接入)
我将npm config get prefix返回的所有文件复制到没有互联网访问的计算机上。
然后,我在没有Internet访问的机器上执行以下命令:
npm --cache-min 9999999 install -g protractor
似乎成功了。
但是,当我尝试执行webdriver-manager start命令时,会收到以下错误消息:
events.js:183抛出er;//未处理的“错误”事件^ 错误: getaddrinfo ENOTFOUND chromedriver.storage.googleapis.com chromedriver.storage.googleapis.com:443 at errnoException (dns.js:50:10) at GetAddrInfoReqWrap.onlookup 不完全
在执行webdriver-manager update时,我会收到相同的错误(如本例中的:webdriver启动:错误:连接ETIMEDOUT)
问题
我做错了什么?在没有互联网接入的情况下,我应该如何正确地在机器上安装量角器和网络驱动程序?
发布于 2018-05-02 10:33:26
因为webdriver-manager start将通过互联网查找selenium-server.jar和webdriver二进制文件的最新版本号,而不管它们已经存在于本地。
但是webdriver-manager没有提供cmd选项来禁用查找。
快速的方法是直接在webdriver-manager start后面运行java,以跳过查找。
java -Dwebdriver.chrome.driver=C:\Tools\npm-global\node_modules\webdriver-manager\selenium\chromedriver_2.38.exe -Dwebdriver.gecko.driver=C:\Tools\npm-global\node_modules\webdriver-manager\selenium\geckodriver-v0.20.1.exe -jar C:\Tools\npm-global\node_modules\webdriver-manager\selenium\selenium-server-standalone-3.11.0.jar -port 4444
复杂的方法是更改webdriver-manager代码或在本地设置镜像,并使用cmd选项:--alternate_cdn并将其指向本地镜像url。(我没有验证这是可行的,在阅读了一些源代码后才能得到)
https://stackoverflow.com/questions/50128987
复制相似问题