当我尝试处理该警报时,获取“Exception UnexpectedAlertPresentException:Alert Text:None”,然后“Exception NoAlertPresent”

时间:2018-02-27 17:43:20

标签: python browser-automation splinter python-behave

我们正在使用以下内容执行自动化脚本:

  • 的行为== 1.2.5
  • 碎片== 0.7.7
  • firefox无头浏览器

导航到特定页面时,我们正在执行以下代码:

browser = context.browser
selector_button_checkout = "//*[@id='cart']//div[contains(@class, 'button button-3 localizejs') and text()='CHECKOUT']"
with browser.get_iframe(0) as iframe:
    assert iframe.is_element_present_by_xpath(selector_button_checkout, wait_time=30)

我们收到此错误:

packages/selenium/webdriver/remote/errorhandler.py", line 237, in check_response
          raise exception_class(message, screen, stacktrace)
      selenium.common.exceptions.UnexpectedAlertPresentException: Alert Text: None
      Message:

Exception UnexpectedAlertPresentException: Alert Text: None
Message: 

Traceback (most recent call last):
selenium.common.exceptions.UnexpectedAlertPresentException: Alert Text: None
Message: 

实际上,网络上没有显示警报或提示,但无论如何我们尝试使用此处http://splinter.readthedocs.io/en/latest/iframes-and-alerts.html

中的Splinter文档来处理它

我们得到另一个例外NoAlertPresentException,所以我们迷路了。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这可能会有所帮助:How to handle an Alert with "UnexpectedAlertBehaviour" capability in Selenium?

对于我们来说,我们使用FacebookWebDriver进行了Codeception,有时当您尝试单击或访问不存在或不可见的成员时,它会因上述错误而失败。

然后转到问题页面并检查该元素(css或xpath)是否可见,可点击等。您可以使用浏览器控制台,$()用于查询路径,$ x()用于xpath。