目标
分别用Firefox和Chrome打开google主页,输入selenium进行搜索,3秒后,再输入nodejs进行搜索。
环境需求
1. javascript运行平台:nodejs
2. node module: selenium-webdriver
在命令行中运行npm -g install selenium-webdriver进行安装
3. 浏览器: Firefox 或 Chrome
Firefox版
首先,确认能在命令行中通过 start firefox启动Firefox浏览器,否则,windows用户需要将Firefox的路径加入系统变量中。
下载最新版本的selenium-server-standalone-2.39.0.jar的jar包,在命令行中启动selenium服务</p style="margin: 0 auto">
java -jar selenium-server-standalone-2.39.0.jar
在默认情况下,该服务会启用4444端口
创建js文件,如foo.js
var builder = new webdriver.Builder().
usingServer('http://localhost:4444/wd/hub').//webdriver service port
withCapabilities({
browserName: 'firefox'
});
driver.get('http://www.google.com');
driver.findElement(By.css('#lst-ib')).sendKeys('selenium');//type in 'selenium'
driver.findElement(By.css('[name="btnK"]')).click(); //click "search"
driver.sleep(3000); //wait for 3 seconds
driver.findElement(By.css('#lst-ib')).clear(); //clear the input area
driver.findElement(By.css('#lst-ib')).sendKeys('nodejs\n');//type in "nodejs" and press enter
运行foo.js
node foo.js
则可以看到浏览器自动执行foo.js中的行为
Chrome版
下载chromedriver。 如果是windows,将压缩包里的exe文件解压后,把exe文件所在路径添加到的环境变量中
在命令行直接输入chromedriver启用服务,默认会打开9515端口
创建foo.js
var builder = new webdriver.Builder().
usingServer('http://localhost:9515').
withCapabilities(webdriver.Capabilities.chrome());
var driver = builder.build();
driver.get('http://www.google.com');
driver.findElement(By.css('#lst-ib')).sendKeys('selenium');
driver.findElement(By.css('[name="btnK"]')).click();
driver.sleep(3000);
driver.findElement(By.css('#lst-ib')).clear();
driver.findElement(By.css('#lst-ib')).sendKeys('nodejs\n');
运行foo.js
node foo.js
则可以看到浏览器自动执行foo.js中的行为
可能出现的问题
如果出现代码无法解释的问题,请尝试更新selenium或浏览器