使用 Selenium Python 通过值属性查找元素
Find element by the value attribute using Selenium Python
我正在尝试在网页中查找特定元素。它必须是文本中值中的特定数字...在这种情况下,我需要通过数字 565657 找到元素(请参见下面的外部 HTML)
我已经尝试通过 xpath:("//*[contains(text(),'565657')]")
和 ("//input[@value='565657']")
但它没有用。
有人可以帮忙吗?提前致谢!
当您从网页上的元素复制时,原始 XPATH 只是“//*[@id="checkbox15"]”,我需要找到一种方法来查找我在下面提到的数字。
要通过值属性定位元素,即 565657 您可以使用以下任一方法 :
使用css_selector:
element = driver.find_element(By.CSS_SELECTOR, "input[value*='565657']")
使用 xpath:
element = driver.find_element(By.XPATH, "//input[contains(@vlaue, '565657')]")
为了理想地定位你需要归纳WebDriverWait for the and you can use either of the following :
使用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
我正在尝试在网页中查找特定元素。它必须是文本中值中的特定数字...在这种情况下,我需要通过数字 565657 找到元素(请参见下面的外部 HTML)
我已经尝试通过 xpath:("//*[contains(text(),'565657')]")
和 ("//input[@value='565657']")
但它没有用。
有人可以帮忙吗?提前致谢!
当您从网页上的元素复制时,原始 XPATH 只是“//*[@id="checkbox15"]”,我需要找到一种方法来查找我在下面提到的数字。
要通过值属性定位元素,即 565657 您可以使用以下任一方法
使用css_selector:
element = driver.find_element(By.CSS_SELECTOR, "input[value*='565657']")
使用 xpath:
element = driver.find_element(By.XPATH, "//input[contains(@vlaue, '565657')]")
为了理想地定位你需要归纳WebDriverWait for the
使用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