Selenium

一、Actions

1.Actions action=new Actions();

创建Actions类实例,专门封装复杂用户交互操作(如鼠标悬停、拖拽、减排组合键等)

2.Actions类的方法需调用perform()才会执行

3.用于执行交互场景

4.简单的大小写切换无需使用Actions ,kw.sendKeys(Keys.SHIFT,"aacc");即可;但如果需要模拟大小写来回切换,就需要用到actions.click(kw).keyDown(Keys.SHIFT).sendKeys("acc").perform(); 和keyUp()

二、提交 click()与submit()的区别

1.click():

(1)所有可点击的元素 按钮、链接、复选框等

(2)适用场景:点击普通按钮、关闭弹窗、切换选项卡

(3)需要定位到按钮

2.submit()

(1)仅适用于表单内元素

(2)触发所在表单的提交动作(即使元素本身不是提交按钮,只要在 <form> 内,调用 submit() 会提交整个表单)

(3)适用场景:提交表单:登录、注册、文件上传后的提交

3.例

比如 定位到搜索框 输入内容后想搜索,可行方法

(1)定位到"搜索"按钮,.click()

(2)还是这个搜索框的位置元素(无需定位按钮),.submit()

(3)回车键 .sendKeys(Keys.ENTER)

三、JS强制点击与Selenium显式等待

1.当Selenium的click()方法因为元素不可见、被遮挡时,可使用JS强制触发按钮点击

2.JS强制点击跟显式等待作用不同

(1)显式等待是等待元素加载完成 而JS强制点击,忽略可交互状态(如遮挡)

(2)显示等待是:等待元素可以正常点击;JS强制点击是不管是否能正常点击,只要元素存在就点击

3.两种显式等待:

(1)只等"加载完成"(元素出现在DOM里)

用ExpectedConditions.presenceOfElementLocated(...)

→ 只要元素在页面的HTML结构里存在,就算被藏起来/挡住,等待也会结束。

(2)等"加载完成+可交互"

用 ExpectedConditions.elementToBeClickable(...)

→ 要求元素不仅在DOM里,还要可见、没被遮挡、能点击,等待才会结束。

相关推荐
代码方舟2 小时前
O2O二手车交易平台B端车商管理后台:基于天远车信盟出险构建自动化车况评估网关
java·运维·人工智能·自动化
明达智控技术2 小时前
告别停机内卷!热插拔远程IO,解锁工控运维新范式
分布式·物联网·自动化
云登指纹浏览器2 小时前
RPA 与指纹浏览器集成:多账号自动化运营的5项环境配置
运维·自动化·rpa
2601_962284503 小时前
北京Java全栈开发培训 Web前端开发 软件测试就业培训班
java·软件测试·web前端·全栈开发·就业培训
Le_ee3 小时前
科来流量分析/结合MCP自动化
运维·自动化
2601_962387824 小时前
web自动化测试实战教程【selenium/unittest/pytest】【共193课
selenium·pytest·devops·web自动化测试·unittest
梁辰兴5 小时前
软件工程:软件测试的特点和原则
软件测试·软件工程·实践应用·梁辰兴·软件测试特点·软件测试原则·测试缺陷
Wang's Blog5 小时前
Vibe Coding一人即团队系列51: AI赋能项目交付与产品文档自动化生成实践
人工智能·自动化·devops
贾伟康5 小时前
【时光清单|19】HarmonyOS ArkTS 回归测试实战:覆盖启动、空数据、异常输入和重复点击
软件测试·harmonyos·arkts·回归测试·hypium
鹿鹿学长6 小时前
微软把语音转写打到 0.1 美元/小时:5 个月降价 72%,AI 音频进入地板价时代
python·自动化