模式弹出窗口上的单击按钮在Selenium Python中给我一个错误

时间:2019-06-11 00:30:34

标签: python selenium selenium-webdriver

我试图单击弹出窗口中的一个按钮,但它给了我以下错误:

Message: Element <button id="modal_ok" class="btn btn-primary waves-effect waves-light" type="button"> could not be scrolled into view

我为此的HTML内容是:

<button type="button" id="modal_ok" onclick="$('#disable_1').hide(); $('#form_disable_1').submit();" class="btn btn-primary waves-effect waves-light">Ok</button>

我编写的代码如下:

ok_button = browser.find_element_by_id("modal_ok")
self.assertIsNotNone(ok_button)
# ok_button.click()
WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.ID, "modal_ok"))).click()

断言正在运行,这意味着该元素可见,但是由于上述错误,我无法单击它。

1 个答案:

答案 0 :(得分:0)

编码器

您可以尝试使用 JavaScript执行器

代码:

ok_button = browser.find_element_by_id("modal_ok")
self.assertIsNotNone(ok_button)
driver.execute_script("arguments[0].click();", ok_button)   

或者您可以尝试使用此代码

ok_button = browser.find_element_by_id("modal_ok")
self.assertIsNotNone(ok_button)
driver.execute_script("arguments[0].scrollIntoView(true);", ok_button)   
ok_button.click()