selenium之nodejs入门使用

selenium详解见此篇:https://www.fenxianglu.cn/article/343

有了对selenium文档的了解,这里还需要做一个hello world演示,不然不知道怎么跑起来的,心里总觉得不舒服,所以下面介绍下基于nodejs的selenium启动使用

首先nodejs是要安装的,这个直接到 https://nodejs.org/en/ 上下载安装即可

然后创建 test/index.js 目录文件

根据selenium写官网下载页的指示,这里需要下载JavaScript的依赖包

下载地址:https://www.npmjs.com/package/selenium-webdriver

npm下载

test> npm install selenium-webdriver --save

安装完成之后还需要下载浏览器驱动器,这里以firefox为例,下载操作系统对应版本,然后放到test目录下即可

相应浏览器驱动器列表

浏览器可执行文件
Chromechromedriver(.exe) 64位的需要度娘找解决方案
Internet ExplorerIEDriverServer.exe
EdgeMicrosoftWebDriver.msi
Firefoxgeckodriver(.exe)
Safarisafaridriver

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

执行后会自动打开火狐浏览器,然后打开百度首页,自动填充搜索内容,进入搜索结果页面。

image.png

send_keys相关使用如下:

// 输入框输入内容
driver.find_element_by_id("kw").send_keys("seleniumm")
sleep(10)
 
// 删除多输入的一个 m
driver.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/selenium/docs/api/javascript/index.html

欢迎关注:https://www.fenxianglu.cn/

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天空还下着雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值