如何使用多个属性查找元素

时间:2016-03-13 04:20:04

标签: selenium

我尝试使用最后有数字的id从html中查找元素,但是当我运行脚本时,元素会被更改,并且在运行时无法找到元素。请告诉我最好的方法使用selenium在Web应用程序中查找动态元素

3 个答案:

答案 0 :(得分:2)

  

最后有数字的id

假设empty在开始时有一些静态的东西,你可以检查id是否以你知道它会开始的东西开始。 Java中的示例:

id

此处driver.findElements(By.cssSelector("[id^=something_static]")); 是一个 CSS选择器[id^=something_static]是一个带开头的符号。

答案 1 :(得分:1)

xpath可以做同样的事情。 Python样本将如下所示:

driver.find_element_by_xpath('//*[contains(@id, "your_static_part")]')

答案 2 :(得分:0)

如果你在python中这样做,你可以使用time.sleep()函数并传递任何数值,如time.sleep(10)。它是为你的页面完全加载完成然后你可以提取那些html的值使用selenium属性的元素,如 - :

driver.find_element_by_id('')
driver.find_element_by_css_selector('')
driver.find_element_by_class_name('')
driver.find_element_by_xpath('')
driver.find_element_by_link_text('')
driver.find_element_by_partial_link_text('').