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

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

相关推荐
平头哥技术团队3 小时前
Day 21 _ 页内锚点_给每段起个 id,目录写 href=_#id_,点一下页面就滚到那一段
前端·html·html5
子兮曰5 小时前
Bun v1.4.1 深度解析:从 Zig 到 Rust,一场 11 天、64 个 AI 代理的语言迁徙
前端·后端·bun
人民广场吃泡面5 小时前
什么是AI Agent?它又能给前端带来哪些效率提升?
前端·人工智能
中科三方5 小时前
两家域名注册商资质被ICANN终止:企业域名资产安全再受关注
前端·网络·安全·域名
bug总结5 小时前
uniapp vue3全局方法注册使用
前端·javascript·uni-app
华无丽言6 小时前
如何在宜搭中实现获取子表中的字段值赋值到父表中?
前端·javascript·低代码
IT_陈寒6 小时前
Vue的computed属性竟然坑了我一把
前端·人工智能·后端
威斯软科的老司机7 小时前
通俗讲解 CNN 图像识别、向量 Embedding、Softmax 概率计算这三块的简化原理
前端·人工智能·ui·数字孪生
2601_962382437 小时前
剑指大前端全栈工程师(全2册)主要情节
javascript·实战案例·全栈工程师·剑指大前端·html5+css3
泯泷7 小时前
手搓JSVM第 12 篇:完整最小 JSVM 实现与源码设计复盘
前端·javascript·前端框架