美文网首页
Selenium如何定位动态元素

Selenium如何定位动态元素

作者: 最爱西红柿 | 来源:发表于2019-12-18 14:53 被阅读0次

朋友突然发消息过来,问怎么定位动态元素;一时不知道怎么回答,也让我意识到很多人可能也遇到同样的问题。

动态元素构成一般是属性里拼接数字,随着网页的刷新,数字不断的变化;​如果这时候用 Xpath 定位,那么浏览器一定找不到该元素。

数字变化导致元素变化

方法一:xpath使用

contains(a,b)  如果 a 中含有字符串 b,则返回 True,反之 False

starts-with(a,b)  如果 a 中以字符串 b 开头,则返回 True,反之 False

ends-with(a,b)  如果 a 中以字符串 b 结尾,则返回 True,反之 False

如:<div  id = "but_1234">aaaaaa.<div>

driver.find_element_by_xpath("//div[contains(@id,"but")]")

driver.find_element_by_xpath("//div[starts-with(@id,"but")]")

方法二:DOM索引

由于只有 dom 定位器才会使用以"document" 开始的定位表达式。

document.getElementById("定位元素” )[ index]

document.getElementByName("定位元素")[ index]

document,forms["名称/ index" ]( index )

参考:

https://blog.csdn.net/genius_man/article/details/80903291

相关文章

网友评论

      本文标题:Selenium如何定位动态元素

      本文链接:https://www.haomeiwen.com/subject/bsfunctx.html