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()处理动态属性。

xpath=//div[contains(@class, 'dynamic-class')]
xpath=//input[starts-with(@id, 'search_')]
xpath=//img[substring(@src, string-length(@src)-3) = '_img']

三:组合定位策略

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

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

用户名:

定位输入框

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

加油!你是最棒的!

posted @ 2025-08-15 10:13  wzzkaifa  阅读(86)  评论(0)    收藏  举报