按照'Getting Started' section of the WebDriverJs documentation中的说明操作并在从其网站运行此代码段之后:
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()
我使用找到here的Chrome驱动程序的mac32版本运行OSX Mavericks。 chromedriver
可执行文件位于我的/usr/local/bin
目录中,可以在path
上访问。
我注意到的一件事是,当我从命令行运行chromedriver
时,它在端口9515
上运行,而节点代码在60065
上查找它。但是,运行chromedriver
不需要任何额外的配置。
有人对我为何会收到此错误有任何想法吗?
答案 0 :(得分:7)
我今天遇到了这个确切的问题,因为我可以说它是当前版本的selenium-webdriver
包(2.41.0)的错误。
There is a bug filed with the Selenium project但我不认为修复程序已经进入了npm。
降级为Chromedriver版本2.9.248307为我工作。
答案 1 :(得分:0)
基于@Andrej Kaurin评论:
你可以设置
directConnnect: true
在量角器配置中。
设置此项后,量角器将直接与浏览器驱动程序连接,不需要selenium。
答案 2 :(得分:0)
对我来说,有效的方法是先使用ChromeDriver的s:33:"a:2:{i:0;s:2:"80";i:1;s:3:"112";}";
版本,然后再使用Chrome浏览器$industries = unserialize($industries);
的版本
以下是获取Chrome驱动程序的链接: http://chromedriver.storage.googleapis.com/index.html?path=78.0.3904.70/
如何检查您使用的Chrome版本:https://support.chall.com/hc/en-us/articles/200336349-How-do-I-determine-what-version-of-Google-Chrome-I-m-using-