【selenium :javaScript在web自动化中的应用】

javaScript在web自动化中的应用

在UI自动化过程中,有时会遇到webdriver 无法实现的操作,这个时候可以通过调用js才能实现的操作

调用方法: driver.execute_script( js语句)

常见调用js的场景如下:

1、 操作浏览器滚动条

虽然 Selenium 可以模拟一些滚动操作,但对于复杂的滚动场景,如特定位置的精确滚动、无限滚动页面的处理等,使用 JavaScript 会更加灵活和精确

  • 滚动到页面底部:
python 复制代码
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
  • 滚动到指定位置:
python 复制代码
js = "window.scrollTo(400,600)"
driver.execute_script(js)```

2、元素定位

webdriver因为一些遮挡等情况,无法通过webdriver定位到,这个时候可以用js定位,示例

python 复制代码
text = "input text"
js = "var sum=document.getElementById('id'); sum.value='"+ text + "';"
driver.execute script(js)

3、处理浏览器的弹窗

某些特定类型的弹窗,特别是自定义的复杂弹窗,可能无法通过 Selenium 的常规方法处理,需要使用 JavaScript 来控制。比如,处理一个自定义的确认弹窗

4、执行特定的页面动画或交互效果

如果页面中有一些特殊的动画效果或交互逻辑,Selenium 可能无法直接模拟,需要通过 JavaScript 来触发。

比如,触发一个元素的鼠标悬停效果并执行相关的后续操

相关推荐
绅士玖1 分钟前
Vue.js 小知识点大揭秘:提升开发效率的实用技巧
前端·vue.js
彭不懂赶紧问1 分钟前
鸿蒙NEXT开发浅进阶到精通04:类似支付宝横向导航栏与list组件联动随航
前端·harmonyos
Jenlybein1 分钟前
进阶学习 Javascript ? 来看看这篇系统复习笔记 [ Promise 与 async 篇 ]
前端·javascript·面试
全栈老李3 分钟前
【高频考点精讲】JavaScript中的访问者模式:从AST解析到数据转换的艺术
javascript
用户2031196600963 分钟前
SwiftUI 中的 scaleEffect 修饰器
前端
袁煦丞6 分钟前
Mdserver-web让服务器自由飞翔!:cpolar内网穿透实验室第590个成功挑战
前端·程序员·远程工作
初心_20246 分钟前
2. python协程/异步编程详解
java·前端·python
快乐就是哈哈哈22 分钟前
new Map 这么好用,你为什么不用?是不喜欢吗?🌸
前端
洞窝技术23 分钟前
前端安全那些事儿:防范与应对策略
前端·安全
哀木26 分钟前
当你在 2025 做暗色方案
前端