我正在尝试在网页中查找特定元素。它必须是文本中的特定数字值...在这种情况下,我需要通过数字 565657 找到元素(请参阅下面的外部 HTML)
我已经通过 xpath 尝试过:("//*[contains(text(),'565657')]")
和 ("//input[@value= '565657']")
但它不起作用。
有人可以帮忙吗?提前致谢!
当您从网页上的元素复制时,原始 XPATH 只是“//*[@id="checkbox15"]”,我需要找到一种方法来查找我在下面提到的数字。
最佳答案
要通过值属性定位元素,即 565657,您可以使用以下任一 Locator Strategies :
使用 css_selector:
element = driver.find_element(By.CSS_SELECTOR, "input[value*='565657']")
使用 xpath:
element = driver.find_element(By.XPATH, "//input[contains(@vlaue, '565657')]")
要找到理想位置,您需要诱导 WebDriverWait对于visibility_of_element_located()您可以使用以下任一项 locator strategies :
使用 CSS_SELECTOR:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "input[value*='565657']")))
使用 XPATH:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//input[contains(@vlaue, '565657')]")))
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
关于python - 使用 Selenium Python 通过值属性查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71683346/