Use Selenium webdriver in Javascript

目标

分别用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

Use Selenium webdriver in Javascript
 1 var builder = new webdriver.Builder().
 2   usingServer(‘http://localhost:4444/wd/hub‘).//webdriver service port
 3   withCapabilities({
 4     browserName: ‘firefox‘ 
 5   });
 6 
 7 driver.get(‘http://www.google.com‘);
 8 
 9 driver.findElement(By.css(‘#lst-ib‘)).sendKeys(‘selenium‘);//type in ‘selenium‘
10 driver.findElement(By.css(‘[name="btnK"]‘)).click(); //click "search"
11 
12 driver.sleep(3000);  //wait for 3 seconds
13 
14 driver.findElement(By.css(‘#lst-ib‘)).clear(); //clear the input area
15 driver.findElement(By.css(‘#lst-ib‘)).sendKeys(‘nodejs\n‘);//type in "nodejs" and press enter
Use Selenium webdriver in Javascript

运行foo.js

Use Selenium webdriver in Javascript
node foo.js
Use Selenium webdriver in Javascript

则可以看到浏览器自动执行foo.js中的行为


 

Chrome版

 

下载chromedriver。 如果是windows,将压缩包里的exe文件解压后,把exe文件所在路径添加到的环境变量中

在命令行直接输入chromedriver启用服务,默认会打开9515端口


创建foo.js

Use Selenium webdriver in Javascript
 1 var builder = new webdriver.Builder().
 2   usingServer(‘http://localhost:9515‘).
 3   withCapabilities(webdriver.Capabilities.chrome());
 4 var driver = builder.build();
 5 
 6 driver.get(‘http://www.google.com‘);
 7 
 8 driver.findElement(By.css(‘#lst-ib‘)).sendKeys(‘selenium‘);
 9 driver.findElement(By.css(‘[name="btnK"]‘)).click(); 
10 
11 driver.sleep(3000);  
12 
13 driver.findElement(By.css(‘#lst-ib‘)).clear();
14 driver.findElement(By.css(‘#lst-ib‘)).sendKeys(‘nodejs\n‘);
Use Selenium webdriver in Javascript

运行foo.js

Use Selenium webdriver in Javascript
node foo.js
Use Selenium webdriver in Javascript

则可以看到浏览器自动执行foo.js中的行为


可能出现的问题

如果出现代码无法解释的问题,请尝试更新selenium或浏览器


Use Selenium webdriver in Javascript,布布扣,bubuko.com

Use Selenium webdriver in Javascript

上一篇:带你读《扬帆远航 5G 融合应用实践精编》第二章电力行业2.2案例介绍(九)


下一篇:Java可以做什么?