为了账号安全,请及时绑定邮箱和手机立即绑定

使用Selenium和python检查是否存在任何警报

使用Selenium和python检查是否存在任何警报

牛魔王的故事 2019-11-18 12:57:18
我正在尝试使用python语言的硒为管理用户的网页编写测试。有人可以在此页面中为用户添加角色,如果在添加角色时存在角色,则会发出警报。我不知道警报是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"但这没有用,我收到了“ 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()) 但是我也有同样的例外。此外,我尝试使用Firebug访问警报,以检查是否可以访问其属性,但是右键单击已禁用。我需要非常快速的解决方案,即使使用其他语言也是如此。我仍然可以理解这种方法。我将不胜感激。
查看完整描述

3 回答

?
慕勒3428872

TA贡献1848条经验 获得超5个赞

在Java中,我们这样做


WebDriverWait wait3 = new WebDriverWait(driver, 7000);

wait3.until(ExpectedConditions.alertIsPresent());

driver.switchTo().alert().accept();

如果不存在警报,它将隐式等待警报,它将抛出“警报不存在”,我们可以捕获并继续前进。


希望能帮助到你。


查看完整回答
反对 回复 2019-11-18
  • 3 回答
  • 0 关注
  • 508 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信