单击另一个元素 Selenium 内的按钮

时间:2021-01-31 17:37:51

标签: python selenium selenium-webdriver xpath webdriverwait

HTML 快照:

enter image description here

您好,我想按这个页面上标有登录的按钮,按钮的html如下:

<button class="">Log In</button>

问题是使用此代码在同一页面上有多个登录按钮,所以我想通过使用按钮所在容器的 id 来指定此按钮:

<li id  = 'bs-bk-PP" class = "_2t6uLu"

如何使用这些属性查找并单击登录按钮。 谢谢

1 个答案:

答案 0 :(得分:-1)

要点击带有 Log In 文本的元素,您可以使用以下任一 Locator Strategies

  • 使用 xpath

    driver.find_element(By.XPATH, "//li[@id='bs-bk-PP']//button[@class and text()='Log In']").click()
    

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

  • 使用 XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//li[@id='bs-bk-PP']//button[@class and text()='Log 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
    
相关问题