【问题标题】:Can't find and click element using selenium无法使用硒找到并单击元素
【发布时间】:2022-01-18 11:08:25
【问题描述】:

这是 HTML:

<li class="Y8-fY "><a class="-nal3 " href="/example/" tabindex="0"><span class="g47SY ">1.692</span> abonniert</a></li>

我尝试使用带有 href 的 XPATH 来查找它,但我只是得到 nosuchelement 错误。

【问题讨论】:

  • 请分享您尝试过的代码。此外,如果可能的话,分享一个指向该页面的链接或至少该页面的 HTML
  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: python python-3.x selenium webdriver


【解决方案1】:

在所需元素上click(),您需要为element_to_be_clickable() 诱导WebDriverWait,您可以使用以下任一Locator Strategies

  • 使用PARTIAL_LINK_TEXT

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, "abonniert"))).click()
    
  • 使用CSS_SELECTOR

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "li > a[href='/example/'] > span"))).click()
    
  • 使用XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//li/a[@href='/example/']/span"))).click()
    
  • 注意:您必须添加以下导入:

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

【讨论】:

    猜你喜欢
    • 2021-03-08
    • 1970-01-01
    • 2018-11-21
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    • 2020-05-20
    • 2019-05-30
    相关资源
    最近更新 更多