首页 > 解决方案 > 如何使用 python selenium chrome 驱动程序单击此登录按钮:

问题描述

我正在尝试使用 python selenium chrome 驱动程序选择并单击登录按钮,但是我不确定如何定义该按钮:

<button class="Wizard__AccountActionButton-mlu9la-10 fCdYqg flex justify-center items-center  font-din">Sign in</button>

标签: pythonselenium-webdriverxpathcss-selectorswebdriverwait

解决方案


要单击带有文本作为登录的元素,您可以使用以下任一定位器策略

  • 使用css_selector

    driver.find_element(By.CSS_SELECTOR, "button.flex.justify-center.items-center.font-din").click()
    
  • 使用xpath

    driver.find_element(By.XPATH, "//a[contains(@class, 'flex justify-center items-center  font-din') and text()='Sign in']").click()
    

理想情况下,要单击需要诱导WebDriverWait的元素element_to_be_clickable(),您可以使用以下任一Locator Strategies

  • 使用CSS_SELECTOR

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.flex.justify-center.items-center.font-din"))).click()
    
  • 使用XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[contains(@class, 'flex justify-center items-center  font-din') and text()='Sign in']"))).click()
    
  • 注意:您必须添加以下导入:

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

推荐阅读