如何通过类名称和特定属性名称同时定位元素

时间:2020-01-08 20:49:57

标签: python selenium selenium-webdriver xpath css-selectors

我正在使用selenim python,并希望找到以下元素:

<div id="coption5" class="copt" style="display: block;">

我需要类名称'copt'和样式值“ display:block;” ,有什么办法可以同时使用类名称和属性值同时显示?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果考虑使用 style display: block; ,则可以为visibility_of_element_located()引入 WebDriverWait ,并且可以使用以下Locator Strategies之一:

  • 使用CSS_SELECTOR

    element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.copt[id^='coption']")))
    
  • 使用XPATH

    element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='copt' and starts-with(@id, 'coption')]")))
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC