Use Selenium webdriver in Javascript

来源:互联网 发布:淘宝查看自己店铺号 编辑:程序博客网 时间:2024/06/05 04:05

目标

分别用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 secondsdriver.findElement(By.css('#lst-ib')).clear(); //clear the input areadriver.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或浏览器


0 0