【问题标题】:How to find the element from the HTML provided through Selenium and Python?如何从 Selenium 和 Python 提供的 HTML 中找到元素?
【发布时间】:2018-08-12 19:50:24
【问题描述】:

实际上这个按钮位于容器内。请提供 python 的语法 这里这个属性有唯一的名字,但是不知道怎么用这个[data-control-name="job_search_category_suggestion_it"]

<button class="jobs-search-category-suggestions__button button-secondary-medium-muted mb2 mr2" data-control-name="job_search_category_suggestion_it" data-ember-action="" data-ember-action-8126="8126">
    <li-icon aria-hidden="true" type="search-icon" size="small"><svg viewBox="0 0 24 24" width="24px" height="24px" x="0" y="0" preserveAspectRatio="xMinYMin meet" class="artdeco-icon" focusable="false"><path d="M14,12.67L11.13,9.8A5,5,0,1,0,9.8,11.13L12.67,14ZM3.88,7A3.13,3.13,0,1,1,7,10.13,3.13,3.13,0,0,1,3.88,7Z" class="small-icon" style="fill-opacity: 1"></path></svg></li-icon>IT
  </button>

我使用了这个代码:

elem = driver.find_elements_by_xpath('//button[@data-control-name="job_search_category_suggestion_it]').click()

【问题讨论】:

    标签: python selenium selenium-webdriver xpath webdriver


    【解决方案1】:

    根据您共享的 HTML,所需元素是动态的,因此您需要诱导 WebDriverWait 以使 元素可点击 和您可以使用以下解决方案:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='jobs-search-category-suggestions__button button-secondary-medium-muted mb2 mr2'][contains(.,'IT')]"))).click()
    

    注意:您必须添加以下导入:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多