Selenium如何定位动态元素?

在做自动化测试的过程中,我们有可能会遇到 //*[@id="el-popover-7969"] 类似的路径后面带数字的,这就有可能是动态元素;如何确定是否是动态元素呢?我们刷新页面后再次获取他的路径时,路径中带的那串数字发生了变化。怎么定位这类型的元素呢?
根据部分元素属性定位
xpath中提供了比较方便的方法来为我们定位部分属性值:
driver.find_element_by_xpath ("//div[contains(@id, 'auto-id')]")
driver.find_element_by_xpath ("//div[starts-with(@id, 'auto-id')]")
contains(a, b) 如果a中含有字符串b,则返回true,否则返回false
starts-with(a, b) 如果a是以字符串b开头,返回true,否则返回false

下面是我自己的例子:

 

posted @ 2023-05-16 10:16  俊帆丶  阅读(479)  评论(0编辑  收藏  举报