如何使用Webdriver&;与此模式对话框交互;python

如何使用Webdriver&;与此模式对话框交互;python,python,google-chrome,webdriver,modal-dialog,lettuce,Python,Google Chrome,Webdriver,Modal Dialog,Lettuce,我只想关闭一个模式对话框,理想情况下可以执行以下操作: browser.find_element_by_link_text("OK").click() 为OK链接文本提供NoSuchElementException:Message:u'The element not found' 执行此操作时,xpath也是如此: browser.find_element_by_xpath("//*[@id=\"modal\"]/div/div[2]/div/a").click() 我怀疑这是因为我需要把重

我只想关闭一个模式对话框,理想情况下可以执行以下操作:

browser.find_element_by_link_text("OK").click()
为OK链接文本提供
NoSuchElementException:Message:u'The element not found'

执行此操作时,xpath也是如此:

browser.find_element_by_xpath("//*[@id=\"modal\"]/div/div[2]/div/a").click()
我怀疑这是因为我需要把重点放在对话上。为此,我已尝试:

for handle in browser.window_handles:
    browser.switch_to_window(handle)
    if browser.find_element_by_class_name('popUp123')
        browser.find_element_by_link_text("OK").click()
为类提供
NoSuchElementException:Message:u'The element not found'

也尝试了
浏览器。切换到\u框架(ID或名称)
,但也找不到作为框架的框架

请告诉我,我遗漏了一些显而易见的东西

相关帧源(摘要):



下面的代码使用Java,您可以尝试使用下面的代码将其转换为Python语法。很抱歉,因为我是Webdriver-Java测试人员,所以无法提供Python代码。希望这能解决您的需求

Alert alertDialog = driver.switchTo().alert();
//Get the alert text
String alertText = alertDialog.getText();
//Click the OK button on the alert.
alertDialog.accept();
干杯


Mahesh

这是python语法

从selenium.webdriver.remote.webdriver导入webdriver
browser=WebDriver()
#在这里做其他事情
browser.switch_to_alert().accept()
#继续这里的其他内容

警报api位于selenium.webdriver.common.alert中,如果在代码之前放置
time.sleep(2)
,则可能需要等待元素,如果未出现错误,则警报api将位于selenium.webdriver.common.alert中。
Alert alertDialog = driver.switchTo().alert();
//Get the alert text
String alertText = alertDialog.getText();
//Click the OK button on the alert.
alertDialog.accept();