Selenium WebDriver 集成
1. 安装selenium-webdriver
yarn add selenium-webdriver2. 下载安装支持不同浏览器的驱动。(此处只介绍Chrome驱动)
[ChromeDriver][3]下载并解压文件,同时把解压的执行文件放置到 /usr/bin目录下。或者设置相应的PATH路径,确保可执行文件在PATH路径中。开始使用
进入我们刚才创建的项目文件夹,目录如下:

页面添加一个开始按钮,以及给按钮添加事件。
找到 views/index.ejs, 添加如下代码:(为了方便操作,引入了jquery, axios, 所以需要下载准备好)


添加对应的路由

在app.js文件中,引入路由chromeDriver
var chromeDriverRouter = require('./routes/chromeDriver');
app.use('/chromeDriver', chromeDriverRouter);引入selenium-webdriver
在routes/chromeDirver.js文件中,我们添加了一个方法handleBaiDuDriver,这个方法用于处理模拟百度搜索自动化的一些测试。
首先我们需要在文件顶部引入selenium-webdriver
const {Builder, By, Key, until} = require('selenium-webdriver'); // Builder: 用于创建一个WebDriver实例。
// By: 表示通过什么方式来查找页面的元素。
// By.className( name ) → By
// By.css( selector ) → By
// By.id( id ) → By
// By.js( script, ...var_args ) → function(WebDriver): Promise
// By.linkText( text ) → By
// By.name( name ) → By
// By.partialLinkText( text ) → By
// Key: 表示键盘上一系列的按键。
// until: 定义了一些工具类的方法。
然后书写我们的方法体里的内容。
const handleBaiDuDriver = async () => {
let driver = await new Builder().forBrowser('chrome').build();
try {
await driver.get('http://www.baidu.com'); await driver.findElement(By.id('kw')).sendKeys('webdriver', Key.RETURN);//正常使用
await driver.findElement(By.id('su')).click();
await driver.wait(until.titleIs('百度一下,你就知道'), 1000);
} catch (error) {









