Node.js 节点selenium webdriver“;错误:在等待WebDriver服务器时超时;
按照中的说明操作时,以及从其站点运行此代码段后:Node.js 节点selenium webdriver“;错误:在等待WebDriver服务器时超时;,node.js,selenium,selenium-webdriver,Node.js,Selenium,Selenium Webdriver,按照中的说明操作时,以及从其站点运行此代码段后: var driver = new webdriver.Builder(). withCapabilities(webdriver.Capabilities.chrome()). build(); driver.get('http://www.google.com'); driver.findElement(webdriver.By.name('q')).sendKeys('webdriver'); driver.findElemen
var driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).
build();
driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
return driver.getTitle().then(function(title) {
return title === 'webdriver - Google Search';
});
}, 1000);
driver.quit();
我得到了这个错误:
Error: Timed out waiting for the WebDriver server at http://XXX.XXX.X.XXX:60065/
at <anonymous>
at <anonymous>
at <anonymous>
at <anonymous>
at <anonymous>
at <anonymous>
at <anonymous>
at <anonymous>
at <anonymous>
at <anonymous>
==== async task ====
WebDriver.createSession()
错误:在等待WebDriver服务器时超时http://XXX.XXX.X.XXX:60065/
在chromedriver
可执行文件位于我的/usr/local/bin
目录中,可在我的路径上访问
我注意到,当我从命令行运行chromedriver
时,它在端口9515
上运行,而节点代码在60065
上查找它。但是,仅使用chromedriver
运行不需要任何额外的配置
有人知道我为什么会出现这个错误吗?我今天遇到了这个问题,我几乎可以说这是当前版本的selenium webdriver(2.41.0)的一个bug
但我认为修复程序还没有进入npm
Chromedriver降级到2.9.248307版对我来说很有效。基于@Andrej Kaurin的评论:
你可以设置
directconnect:true
在量角器配置中
设置此选项后,量角器直接与浏览器驱动程序连接,不需要selenium
更多详细信息:对我来说,ChromeDriver的版本78.0.33904.70
和Chrome浏览器的版本78.0.3904.87
以下是获取Chrome驱动程序的链接:
如何检查您的chrome浏览器版本:对我来说相同2.10不起作用,2.9工作得很完美。谢谢各位。在量角器配置中加入“directConnect:true”解决了我可能的重复问题