Python 2.7 Python Selenium Webdriver:如何处理警报窗口

Python 2.7 Python Selenium Webdriver:如何处理警报窗口,python-2.7,selenium-webdriver,Python 2.7,Selenium Webdriver,在我的网页中,我选择“禁用”单选按钮,然后单击“应用/保存”按钮应用设置。但不幸的是,一个警告窗口弹出,说“如果禁用,宽带路由器捕获的信息将丢失。”。如果要保存当前日志信息,请单击“取消”按钮,查看当前系统日志,然后使用“文件”菜单中的“保存”选项保存日志数据 如何单击“确定”按钮接受应用的设置? 请在屏幕截图下方查看以供参考 请在下面找到我的python代码: 注意:My alert.accept功能不是单击“确定”按钮应用设置 from selenium import webdriver

在我的网页中,我选择“禁用”单选按钮,然后单击“应用/保存”按钮应用设置。但不幸的是,一个警告窗口弹出,说“如果禁用,宽带路由器捕获的信息将丢失。”。如果要保存当前日志信息,请单击“取消”按钮,查看当前系统日志,然后使用“文件”菜单中的“保存”选项保存日志数据

如何单击“确定”按钮接受应用的设置? 请在屏幕截图下方查看以供参考

请在下面找到我的python代码: 注意:My alert.accept功能不是单击“确定”按钮应用设置

from selenium import webdriver

driver = webdriver.Firefox()

driver.find_element_by_xpath('/html/body/blockquote/form/table[1]/tbody/tr/td[2]/input').click()

try:

   driver.find_element_by_xpath('/html/body/blockquote/form/p/input').click()

   alert = driver.switch_to.alert()

   alert.accept()

except:

   print 'Not disabled'

我是自动化新手。如果焦点在OK按钮上,您可以尝试 SendKeys.SendWait@{ENTER};
这在c中对我很有效。

尝试使用警报命令,并等待或休眠显示。如果不起作用,您可以尝试使用模拟关键点。JavascriptExecutor在这里工作得非常好

在爪哇

  JavascriptExecutor js=(JavascriptExecutor)driver;
  js.executeScript("call function to accept"); 

谢谢

我意识到这是一篇老文章,但为了将来的参考,我将尝试回答这个问题

alert = driver.switch_to.alert()
上述代码不正确。alert不是一个函数调用,而是一个变量

alert = driver.switch_to.alert

请注意,下一段代码缺少括号。这是正确的代码。

您的意思是您的控件将进入except块吗?accept之前的sleep命令不起作用。还有其他处理方法吗?然后尝试使用JavascriptExecutor