节点selenium-webdriver“错误:超时等待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();
我得到这个错误:
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()
我正在使用这里find的ChromeDriver的mac32版本运行OSX Mavericks。 chromedriver
可执行文件位于我的/usr/local/bin
目录中,可以在我的path
上访问。
我注意到的一件事是,当我从命令行运行chromedriver
,它运行在端口9515
,而节点代码正在寻找它在60065
。 但是,不应该有任何额外的configuration只需要使用chromedriver
运行。
有没有人有任何想法,为什么我得到这个错误?
我今天和今天有这个确切的问题,因为我可以告诉它是当前版本的selenium-webdriver
软件包(2.41.0)的一个错误。
Selenium项目存在一个bug,但是我不认为这个修复已经进入了npm。
降级到Chromedriver版本2.9.248307为我工作。
基于@Andrej Kaurin评论:
您可以在您的量angular器configuration中设置directConnnect: true
。
当这个设置,量angular器直接连接浏览器驱动程序和selenium是不需要的。
更多细节: https : //github.com/angular/protractor/blob/master/docs/server-setup.md#connecting-directly-to-browser-drivers
- 使用Express / Redis进行会话存储时,“会话”未定义
- 我怎样才能让Express.js到404只在缺less路线?
- AWS nodejs microservice:在S3存储桶中的文件发生更改时迭代调用服务
- 如何在nodejs中访问控制器中的常量variables
- 如何在不假定外键列名的情况下在sequelize中创build行时引用关联?
- 在node.js C ++插件中实现JS算术运算符
- Angular 2 – 使用Windows身份validation消费平静的API调用
- 在node.js中build立一个懒散的机器人,抛出一个我无法理解的错误。 有没有人见过这个?
- 如何使用gitlab跑步者在ec2上自动部署?