【问题标题】:Clicking a button by selenium通过硒单击按钮
【发布时间】:2022-02-12 03:02:51
【问题描述】:

我正在尝试单击该按钮,我尝试了多种方法,但都失败了。

<div class="item" data-id="rota_grupo">
   <i class="fal fa-users">
   </i>
</div>

【问题讨论】:

    标签: python selenium xpath css-selectors webdriverwait


    【解决方案1】:

    您可以将您的 chromedriver 路径添加到“DRIVER_PATH”,它应该可以工作。

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.chrome.service import Service
    
    CHROMEDRIVER_PATH = Service("DRIVER_PATH")
    
    driver = webdriver.Chrome(service=CHROMEDRIVER_PATH)
    
    button = driver.find_element(By.CLASS_NAME, "fa-users")
    button.click()
    
    

    【讨论】:

      【解决方案2】:

      要定位 clickable 元素,您需要为element_to_be_clickable() 诱导WebDriverWait,您可以使用以下locator strategies 之一:

      • 使用CSS_SELECTOR

        WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.item[data-id='rota_grupo'] > i.fal.fa-users"))).click()
        
      • 使用XPATH

        WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='item' and @data-id='rota_grupo']/i[@class='fal fa-users']"))).click()
        
      • 注意:您必须添加以下导入:

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

      【讨论】:

        猜你喜欢
        • 2019-03-18
        • 2021-12-08
        • 2020-04-15
        • 1970-01-01
        • 2018-11-02
        • 2023-01-11
        • 2019-07-16
        • 2021-01-26
        • 2020-12-05
        相关资源
        最近更新 更多