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

Selenium 如何使用多个属性查找元素,selenium,Selenium,我尝试使用id从html中查找元素,id的末尾有数字,但当我运行脚本时,元素发生了更改,在运行时找不到元素。请建议我使用selenium在web应用程序中查找动态元素的最佳方法 在末尾有数字的id 假设id的开头是静态的,您可以检查id是否以您知道它将以什么开头的东西开头。Java中的示例: driver.findElements(By.cssSelector("[id^=something_static]")); 这里的[id^=something\u static]是一个CSS选择器,^=

我尝试使用id从html中查找元素,id的末尾有数字,但当我运行脚本时,元素发生了更改,在运行时找不到元素。请建议我使用selenium在web应用程序中查找动态元素的最佳方法

在末尾有数字的id

假设
id
的开头是静态的,您可以检查
id
是否以您知道它将以什么开头的东西开头。Java中的示例:

driver.findElements(By.cssSelector("[id^=something_static]"));
这里的
[id^=something\u static]
是一个CSS选择器,
^=
是以符号开头的

在末尾有数字的id

假设
id
的开头是静态的,您可以检查
id
是否以您知道它将以什么开头的东西开头。Java中的示例:

driver.findElements(By.cssSelector("[id^=something_static]"));

这里的
[id^=something\u static]
是一个CSS选择器,而
^=
是一个以符号开头的符号。

同样可以通过
xpath来完成<代码>Python
示例如下所示:

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

同样可以使用
xpath
<代码>Python示例如下所示:

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

如果您是在python中执行此操作,则可以使用time.sleep()函数并传递任何数字值,如time.sleep(10)。这样做是为了让页面完全加载,然后您可以使用selenium的属性(如-)提取这些html元素的值:

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('').

如果您是在python中执行此操作,则可以使用time.sleep()函数并传递任何数字值,如time.sleep(10)。这样做是为了让页面完全加载,然后您可以使用selenium的属性(如-)提取这些html元素的值:

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('').

请显示您首先尝试的代码。当您遇到具体的实现问题时,我们很乐意提供帮助。请先显示您尝试过的代码。当您有具体的实施问题时,我们很乐意提供帮助。