selenium详解见此篇:https://www.fenxianglu.cn/art...
有了对selenium文档的理解,这里还须要做一个hello world演示,不然不晓得怎么跑起来的,心里总感觉不难受,所以上面介绍下基于nodejs的selenium启动应用
首先nodejs是要装置的,这个间接到 https://nodejs.org/en/ 上下载安装即可
而后创立 test/index.js 目录文件
依据selenium写官网下载页的批示,这里须要下载JavaScript的依赖包
下载地址:https://www.npmjs.com/package...
npm下载
test> npm install selenium-webdriver --save
装置实现之后还须要下载浏览器驱动器,这里以firefox为例,下载操作系统对应版本,而后放到test目录下即可
相应浏览器驱动器列表
浏览器 | 可执行文件 |
---|---|
Chrome | chromedriver(.exe) 64位的须要度娘找解决方案 |
Internet Explorer | IEDriverServer.exe |
Edge | MicrosoftWebDriver.msi |
Firefox | geckodriver(.exe) |
Safari | safaridriver |
index.js对应内容如下:
const { Builder, By, Key, until } = require("selenium-webdriver");(async function example() { let driver = await new Builder().forBrowser("firefox").build(); // 以firefox浏览器为指标构建器 try { await driver.get("https://www.baidu.com"); await driver.findElement(By.className("s_ipt")).sendKeys("selenium"); // 找到输入框,填充内容 await driver.findElement(By.className("s_btn")).sendKeys(Key.ENTER); // 触发enter键,执行搜寻 await driver.wait(until.titleIs("百度一下,你就晓得"), 1000); // 判断title是否为“百度一下,你就晓得”,不是则报错,是则继续执行 console.log(222) } finally { // await driver.quit(); // 退出浏览器 }})();
执行脚本
test> node index.js
执行后会主动关上火狐浏览器,而后关上百度首页,主动填充搜寻内容,进入搜寻后果页面。
send_keys相干应用如下:
// 输入框输出内容driver.find_element_by_id("kw").send_keys("seleniumm")sleep(10) // 删除多输出的一个 mdriver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)sleep(10) // 输出空格键+“教程”driver.find_element_by_id("kw").send_keys(Keys.SPACE)driver.find_element_by_id("kw").send_keys("教程")sleep(10) // ctrl+a 全选输入框内容driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'a')sleep(10) // ctrl+x 剪切输入框内容driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'x')sleep(10) // ctrl+v 粘贴内容到输入框driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'v')sleep(10) // 通过回车键来代替单击操作driver.find_element_by_id("su").send_keys(Keys.ENTER)sleep(10)
其余API请查看 selenium_webdriver 官网应用文档:https://www.selenium.dev/sele...
欢送关注:https://www.fenxianglu.cn/