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]:然后选取该 元素的第二个同级 元素
加油!你是最棒的!

浙公网安备 33010602011771号