【问题标题】:How to click on the button with text as Continue as per the html through python and selenium如何通过python和selenium按照html单击文本为Continue的按钮
【发布时间】:2025-11-21 12:35:01
【问题描述】:

我正在尝试在 Python 中使用 Selenium 单击以下按钮“继续”。

<div class="sb-modal-section">
    <button class="sb-modal-button primary">Continue</button>
    <button class="sb-modal-button">Rules</button>
</div>

我可以使用多种方法找到按钮,包括:

x = driver.find_element_by_css_selector('.sb-modal-button.primary')

x = driver.find_element_by_xpath("//button[@class='sb-modal-button primary']")

我知道它不应该因为空间而工作。

然而,

x.click()

不执行继续操作。我尝试过隐式和显式等待,但这似乎不是问题。它会同时找到它们并显示 x.text。但是点击不起作用。任何帮助表示赞赏。

【问题讨论】:

  • 你可以试试 JavaScript 执行器点击
  • 工作就像一个魅力,@AnkurSingh。 driver.execute_script("arguments[0].click();", x)

标签: python selenium selenium-webdriver xpath css-selectors


【解决方案1】:

你可以用这个:-

driver.execute_script("arguments[0].click();", x) 

【讨论】:

    【解决方案2】:

    根据您提供的 HTML,文本为 Continue 的元素似乎在 Modal Dialog Box 内,因此您必须诱导 WebDriverwait 使 元素可点击 如下:

    • CSS_SELECTOR:

      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.sb-modal-section>button.sb-modal-button.primary"))).click()
      
    • XPATH:

      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='sb-modal-section']//button[@class='sb-modal-button primary'][contains(.,'Continue')]"))).click()
      

    【讨论】:

      最近更新 更多