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

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或浏览器


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值