如何使用Selenium Webdriver找到按钮元素?

时间:2019-04-10 12:55:25

标签: python-3.x selenium-webdriver xpath css-selectors webdriverwait

我在定位按钮并单击它时遇到问题。它会在Internet Explorer中弹出。我按类名使用,但不起作用。

browser.find_element_by_css_selector("ui-button ui-corner-all ui-widget").click()

HTML:

button class="ui-button ui-corner-all ui-widget"type="button">Accept</button>

1 个答案:

答案 0 :(得分:0)

要找到并单击文本为 Accept 的元素,您需要诱使 WebDriverWait 使元素可点击,并且您可以使用以下Locator Strategies中的

  • 使用CSS_SELECTOR

    WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.ui-dialog-buttonset>button.ui-button.ui-corner-all.ui-widget"))).click()
    
  • 使用XPATH

    WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='ui-dialog-buttonset']//button[@class='ui-button ui-corner-all ui-widget' and text()='Accept']"))).click()
    
  • 注意:您必须添加以下导入:

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