繁体   English   中英

如何通过标题点击元素 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">

要在标题为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()

理想情况下,在可点击元素上点击() ,您需要为element_to_be_clickable()引入WebDriverWait ,您可以使用以下任一定位器策略

  • 使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM