我试图在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。但是点击不起作用。任何帮助表示赞赏。
答案 0 :(得分:0)
您可以使用此:-
driver.execute_script("arguments[0].click();", x)
答案 1 :(得分:0)
按照您提供的HTML,看来元素为 Continue 的元素位于 Modal对话框中,因此您必须引入 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()