Selenium定位动态元素

selenium做网页UI自动化的时候,会遇到网页元素id/name是动态生成的情况
一、可以考虑模糊匹配定位,匹配元素定位中不变且唯一的地方.

1.可以使用如下方法:

starts-with(以什么开始)
ends-with(以什么结束)
contains 包含**

eg:
driver.find_element_by_xpath
("//div[contains(@id, ‘btn-attention’)]")
driver.find_element_by_xpath
("//div[starts-with(@id, ‘btn-attention’)]")
driver.find_element_by_xpath
("//div[ends-with(@id, ‘btn-attention’)]")
contains(a, b) 如果a中含有字符串b,则返回true,否则返回false
starts-with(a, b) 如果a是以字符串b开头,返回true,否则返回false
ends-with(a, b) 如果a是以字符串b结尾,返回true,否则返回false
在这里插入图片描述
2. 如果父级元素固定,可以先定位到父级元素,然后定位到下级元素

猜你喜欢

转载自blog.csdn.net/ningmengbu_suan/article/details/106379774