【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 来触发。

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

相关推荐
前端大卫18 小时前
为什么 React 中的 key 不能用索引?
前端
你的人类朋友18 小时前
【Node】手动归还主线程控制权:解决 Node.js 阻塞的一个思路
前端·后端·node.js
小李小李不讲道理20 小时前
「Ant Design 组件库探索」五:Tabs组件
前端·react.js·ant design
毕设十刻20 小时前
基于Vue的学分预警系统98k51(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
mapbar_front21 小时前
在职场生存中如何做个不好惹的人
前端
牧杉-惊蛰21 小时前
纯flex布局来写瀑布流
前端·javascript·css
一袋米扛几楼981 天前
【软件安全】什么是XSS(Cross-Site Scripting,跨站脚本)?
前端·安全·xss
向上的车轮1 天前
Actix Web适合什么类型的Web应用?可以部署 Java 或 .NET 的应用程序?
java·前端·rust·.net
XiaoYu20021 天前
第1章 核心竞争力和职业规划
前端·面试·程序员
excel1 天前
🧩 深入浅出讲解:analyzeScriptBindings —— Vue 如何分析 <script> 里的变量绑定
前端