我尝试使用最后有数字的id从html中查找元素,但是当我运行脚本时,元素会被更改,并且在运行时无法找到元素。请告诉我最好的方法使用selenium在Web应用程序中查找动态元素
答案 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('').