Node selenium-webdriver"错误:等待WebDriver服务器超时"

use*_*596 7 selenium node.js selenium-webdriver

按照WebDriverJs文档"入门"部分中的说明并在从其站点运行此代码段之后:

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();
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

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()
Run Code Online (Sandbox Code Playgroud)

我在这里使用MacD版ChromeDriver运行OSX Mavericks .该chromedriver可执行文件在我的/usr/local/bin目录,是对我的访问path.

我注意到的一件事是,当我从命令行运行时chromedriver,它在端口上运行9515,而节点代码正在查找它60065.但是,运行时不应该有任何额外的配置chromedriver.

有人会对我收到此错误的原因有任何想法吗?

mbc*_*ute 7

我今天遇到了这个问题,因为我可以说它是当前版本的selenium-webdriver软件包(2.41.0)的一个错误.

Selenium项目存在一个错误,但我认为修复程序尚未进入npm.

降级到Chromedriver版本2.9.248307为我工作.

  • 在proractor配置中放入"directConnect:true"解决了我的问题 (7认同)