在NodeJs上运行Selenium

这是我第一次在Windows 7环境中使用NodeJs上的selenium-webdriver 。 以下是我所做的尝试使其工作:

  1. 安装的NodeJs 7.5 (由Selenium官方支持,如Git https://github.com/SeleniumHQ/selenium/tree/master/javascript/node/selenium-webdriver所述 )
  2. 使用npm安装selenium-webdriver
  3. 已下载chromedriver.exe 2.27"C:\Selenium Utilities\chromedriver"
  4. 添加chromedriver到我的PATHC:\Selenium Utilities\chromedriver;
  5. 从Selenium Git页面添加了我的第一个testing:

     var webdriver = require('selenium-webdriver'), By = webdriver.By, until = webdriver.until; var driver = new webdriver.Builder() .forBrowser('chrome') .build(); driver.get('http://www.google.com/ncr'); driver.findElement(By.name('q')).sendKeys('webdriver'); driver.findElement(By.name('btnG')).click(); driver.wait(until.titleIs('webdriver - Google Search'), 1000); driver.quit(); 
  6. 尝试通过node test.js运行testing

结果,我得到错误说(摘录):

“…抛出新的错误('不知道如何build立驱动程序:'+浏览器”

“错误:不知道如何构build驱动程序:C;你忘记调用usingServer(url)?

我究竟做错了什么? 我是否需要运行一个单独的Selenium服务器才能运行?

你的代码对我来说看起来很好,所以我运行它来检查。 我可以确认它运行正常 (在macOS塞拉利昂)。 这是我创build的回购的链接 。

看起来你可能需要延长页面标题的等待时间,有时候我发现加载Google的页面标题花费了一秒多的时间。

另一个select是尝试托pipe服务,而不是设置自己的selenium服务器。 有很多可用的,我只是做Obehave正是为了这个目的。 有零设置要求 – 你可以开始写你的testing马上。