如何使用 Selenium 按标题单击元素 Python
How to click on an element by title with Selenium Python
我正在尝试用 selenium 勾选一个复选框,唯一可用的信息是标题。
是一个动态元素,所以我需要按标题select
我尝试了所有方法都没有成功(包含@title等)。
有人可以帮忙吗?我开始写代码了。
xpath 是:
/html/body/div[7]/div[2]/div/div[2]/div/div[2]/div/div/div[1]/form/div/span[1]/input
CSS 选择器是:
#selectCommon > span:nth-child(1) > input:nth-child(1)
HTML 看起来像:
<input type="checkbox" title="AM - AMERICAS">
至 on the element with title as AM - AMERICAS you can use either of the following :
使用css_selector:
driver.find_element(By.CSS_SELECTOR, "input[title^='AM'][title$='AMERICAS']").click()
使用 xpath:
driver.find_element(By.XPATH, "//input[starts-with(@title, 'AM') and contains(@title, 'AMERICAS')]").click()
最好是 on the clickable element you need to induce WebDriverWait for the and you can use either of the following :
使用CSS_SELECTOR:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[title^='AM'][title$='AMERICAS']"))).click()
使用 XPATH:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[starts-with(@title, 'AM') and contains(@title, 'AMERICAS')]"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
我正在尝试用 selenium 勾选一个复选框,唯一可用的信息是标题。 是一个动态元素,所以我需要按标题select
我尝试了所有方法都没有成功(包含@title等)。
有人可以帮忙吗?我开始写代码了。
xpath 是:
/html/body/div[7]/div[2]/div/div[2]/div/div[2]/div/div/div[1]/form/div/span[1]/input
CSS 选择器是:
#selectCommon > span:nth-child(1) > input:nth-child(1)
HTML 看起来像:
<input type="checkbox" title="AM - AMERICAS">
至
使用css_selector:
driver.find_element(By.CSS_SELECTOR, "input[title^='AM'][title$='AMERICAS']").click()
使用 xpath:
driver.find_element(By.XPATH, "//input[starts-with(@title, 'AM') and contains(@title, 'AMERICAS')]").click()
最好是
使用CSS_SELECTOR:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[title^='AM'][title$='AMERICAS']"))).click()
使用 XPATH:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[starts-with(@title, 'AM') and contains(@title, 'AMERICAS')]"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC