在NodeJs上运行Selenium
这是我第一次在Windows 7
环境中使用NodeJs
上的selenium-webdriver
。 以下是我所做的尝试使其工作:
- 安装的
NodeJs 7.5
(由Selenium官方支持,如Git https://github.com/SeleniumHQ/selenium/tree/master/javascript/node/selenium-webdriver所述 ) - 使用
npm
安装selenium-webdriver
- 已下载
chromedriver.exe 2.27
到"C:\Selenium Utilities\chromedriver"
- 添加
chromedriver
到我的PATH
为C:\Selenium Utilities\chromedriver;
-
从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();
-
尝试通过
node test.js
运行testing
结果,我得到错误说(摘录):
“…抛出新的错误('不知道如何build立驱动程序:'+浏览器”
“错误:不知道如何构build驱动程序:C;你忘记调用usingServer(url)?
我究竟做错了什么? 我是否需要运行一个单独的Selenium服务器才能运行?
你的代码对我来说看起来很好,所以我运行它来检查。 我可以确认它运行正常 (在macOS塞拉利昂)。 这是我创build的回购的链接 。
看起来你可能需要延长页面标题的等待时间,有时候我发现加载Google的页面标题花费了一秒多的时间。
另一个select是尝试托pipe服务,而不是设置自己的selenium服务器。 有很多可用的,我只是做Obehave正是为了这个目的。 有零设置要求 – 你可以开始写你的testing马上。