【selenium】执行 Javascript 脚本 滚动、元素的特殊操作等

本文介绍了在Selenium中遇到页面元素操作问题时,如何使用`executeScript`方法通过JavaScript解决,包括设置/移除元素属性、页面滚动以及处理元素点击拦截。同时提到Selenium最初基于JavaScript但存在兼容性问题,以及Cypress框架作为Node.js的选择.
摘要由CSDN通过智能技术生成

某些特殊情况下,使用selenium的api无法操作页面元素,点击、滚动实现的某些功能,可以考虑通过执行js来完成。

为什么不用js写自动化?——selenium第一版是js写的,但js兼容性存在问题,所以引入webdriver 现在有用node.js做的cypress框架

一、方法解释:

executeScript(String script, Object... args);

第一个参数:script 脚本 在浏览器console里可直接输入的js语句

第二个参数:Object... args 可变参数 (0 - n)个; 把args的值传给前面js脚本,

参数可以是:定位到的定位方式/元素/属性...

1、使用方式1——不传参:Object... args为0

JavascriptExecutor jsExecutor=(JavascriptExecutor) driver;//这里也可以不用强转,因为多态
jsExecutor.executeScript("...");

2、使用方式2——传参:Object... args个数多个 从arguments[0]开始,arguments[1],arguments[2]......

3、举例:比如需要删除12306时间窗口的只读属性readonly


  //把driver转换成js对象
JavascriptExecutor jsExexutor = drive
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

墨撕酒家

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

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

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

打赏作者

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

抵扣说明:

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

余额充值