当前位置: 首页 > news >正文

Selenium动态元素定位

动态元素定位方法

一:使用CSS选择器

通过部分匹配操作符定位动态属性中的固定部分。*=(包含),^=(开头),$=(结尾)。

/* 匹配id前缀为user_的元素 */
css=div[id^="user_"]/* 匹配class包含item-box-的元素 */
css=div[class*="item-box-"]/* 匹配href属性以.pdf结尾的元素 */
css=a[href$=".pdf"]

二:使用XPath表达式

利用XPath函数如contains()starts-with()substring()处理动态属性。

<!-- 匹配class包含dynamic-class的元素 -->
xpath=//div[contains(@class, 'dynamic-class')]<!-- 匹配id前缀为search_的元素 -->
xpath=//input[starts-with(@id, 'search_')]<!-- 匹配src属性以_img结尾的元素 -->
xpath=//img[substring(@src, string-length(@src)-3) = '_img']

三:组合定位策略

当动态元素缺乏固定特征时,通过相邻元素或上下文的固定属性进行定位。

示例:动态div下的固定文本标签

<div class="dynamic-123"><span>用户名:</span><input type="text" id="dynamic-input-456"><input type="text2" id="dynamic-input-789">
</div>

定位输入框

xpath=//span[text()='用户名:']/following-sibling::input[2]解释://span[text()='用户名:']:先定位到文本为 "用户名:" 的 <span> 元素
/following-sibling::input[2]:然后选取该 <span> 元素的第二个同级 <input> 元素

加油!你是最棒的!

http://www.xdnf.cn/news/1279603.html

相关文章:

  • 【运维进阶】WEB 服务器
  • 学习观察和行动:机器人操作中任务-觉察的视图规划
  • docker安装searxng
  • C语言如何安全的进行字符串拷贝
  • 云原生环境 Prometheus 企业级监控实战
  • Centos 用http ftp搭建本地yum源 保姆级教程
  • QML开发:动画元素
  • 企业高性能web服务器Nginx的详细部署(实战篇)
  • [4.2-2] NCCL新版本的register如何实现的?
  • ResponseBodyAdvice是什么?
  • ChatML vs Harmony:深度解析OpenAI全新对话结构格式的变化
  • ARM基础概念 day51
  • Redis应⽤-缓存与分布式锁
  • Vue3从入门到精通:3.1 性能优化策略深度解析
  • 基于SpringBoot+Uniapp的血压监控小程序(Echarts图形化分析)
  • OV5640 相机开发流程
  • Apollo平台下相机和激光雷达手眼联合标定
  • 游戏引擎(Unreal Engine、Unity、Godot等)大对比:选择最适合你的工具
  • 2025世界机器人大会,多形态机器人开启商业化落地浪潮
  • ubuntu24.04设置登陆背景图片
  • 工业相机与智能相机的区别
  • word的正则替换
  • 《解锁 C++ 进阶密码:引用补充与内联函数、nullptr 核心用法》
  • 【测试报告】SoundWave(Java+Selenium+Jmeter自动化测试)
  • 2025 年国内可用 Docker 镜像加速器地址
  • 前端组件库双雄对决:Bootstrap vs Element UI 完全指南
  • Flink TableAPI 按分钟统计数据量
  • Spring AI赋能图像识别:大数据模型驱动下的智能化变革
  • SAE J2716多协议网关的硬件架构与实时协议转换机制解析
  • calamine读取xlsx文件的方法比较