如何单击 Python Selenium 中的隐藏按钮?

How to click hidden buttons in Python Selenium?

我正在研究 Selenium 中的简单自动化。我需要点击一个特定的按钮。我不能,因为它隐藏在 div/table 中,没有 class。

我附上 html 的屏幕截图。我确实尝试了 xpath,css select,select 仍然没有。

HTML

您可以尝试点击 div 然后。您可以使用 XPath 来定位按钮元素(因为它有一些 class 所以您可以找到它)并添加 /parent::div 获取 div 以单击它。

To click() 你必须在按钮上诱导 WebDriverWait 以获得所需的 visibility_of_element_located() 并且你可以使用以下任一方法 :

  • 使用CSS_SELECTOR:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "ul.nightclubs.unstyled > li > table.table.table-condensed button.btn.btn-inverse.btn-small.pull-right"))).click()
    
  • 使用XPATH:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//ul[@class='nightclubs unstyled']/li/table[@class='table table-condensed']//button[@class='btn btn-inverse btn-small pull-right' and contains(., 'Wejd')]"))).click()
    
  • 注意:您必须添加以下导入:

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