[英]Get XPath of element in Selenium
假设我通过 class 名称获得网页上的元素列表,如下所示:
driver.find_elements_by_class_name("something")
如何获得该列表中每个元素的 XPath?
通过classname标识为something
的WebElement也可以使用以下Locator Strategies进行标识:
xpath :
driver.find_elements(By.XPATH, "//*[@class='something']")
CSS选择器:
driver.find_elements(By.CSS_SELECTOR, ".something")
您可以为您的浏览器安装 XPath Finder 扩展,并为每个元素自动生成唯一的 XPath。
之后,您可以使用 Function:
driver.find_element_by_xpath("XPath string") .
driver.find_element_by_*
和driver.find_elements_by_*
已弃用。 使用它的最佳方式是 @undetected-selenium 写的。
首次导入By
from selenium.webdriver.common.by import By
然后,您可以将其与多种位置策略一起使用。
driver.find_elements(By.XPATH, "//*[@attribute='something']")
driver.find_elements(By.CSS_SELECTOR, "[attribute~=”value”]")
从现在开始你应该使用这个,因为最新的网络驱动程序经常会出现错误,说find_element_by_* commands are deprecated
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.