我正在尝试使用python语言的selenium编写一个用于管理用户的网页的测试.在此页面中,有人可以为用户添加角色,如果在添加角色时存在角色,则会发出警报.我不知道警报是javascript警报还是网页的元素.我想自动检查是否存在警报,因为检查列表中的角色会浪费时间并且负载很大.我试过这个:
browser = webdriver.Firefox()
browser.get("url")
browser.find_the_element_by_id("add_button").click()
try:
alert = browser.switch_to_alert()
alert.accept()
print "alert accepted"
except:
print "no alert"
Run Code Online (Sandbox Code Playgroud)
但它没有用,我得到了"UnexpectedAlertPresentException".我也试过这个:
browser = webdriver.Firefox()
browser.get("url")
browser.find_the_element_by_id("add_button").click()
s = set(browser.window_handles)
s.remove(browser.current_window_handle)
browser.switch_to_window(s.pop())
Run Code Online (Sandbox Code Playgroud)
但我得到了同样的例外.此外,我尝试使用firebug访问警报以检查我是否可以访问其属性,但右键单击已禁用.即使在其他语言中,我也需要非常快速的解决方案.无论如何我能理解这种方法.我将不胜感激任何帮助.