【问题标题】:Watir: "unexpected alert open" error thrown when trying to refresh page after manually closing alertWatir:手动关闭警报后尝试刷新页面时引发“意外警报打开”错误
【发布时间】:2013-08-27 09:36:36
【问题描述】:

我创建了一个 Watir::Browser 的实例,并将 chrome 设置为浏览器。

b = Watir::Browser.new :chrome    

如果我手动关闭警报,然后尝试使用

刷新页面
b.refresh

抛出以下错误:

Selenium::WebDriver::Error::UnhandledAlertError: unexpected alert open
  (Session info: chrome=28.0.1500.95)
  (Driver info: chromedriver=2.2,platform=Windows NT 6.1 x86_64)
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/response.rb:51:in     assert_ok'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/response.rb:15:in     initialize'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/http/common.rb:59:in     new'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/http/common.rb:59:in     create_response'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/http/default.rb:66:in     request'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/http/common.rb:40:in     call'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/bridge.rb:634:in     raw_execute'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/bridge.rb:612:in     execute'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/bridge.rb:210:in     refresh'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/common/navigation.rb:38:in     refresh'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.4/lib/watir-webdriver/browser.rb:201:in     refresh'

当我调用b.alert.exists? 时,它会返回true。

我尝试使用b.alert.initialize 重置警报状态,但它引发了异常。

有没有办法完全重置浏览器对象的状态?

【问题讨论】:

  • same here alert not working...我也尝试使用 firefox,但没有多大成功。 b.alert.exists? b.alert.ok 我在watirwebdriver.com/javascript-dialogs 上尝试了所有方法,但你运气不好?

标签: watir selenium-chromedriver


【解决方案1】:

我也遇到过这个问题:

但我通过将其放入 begin-rescue 块中成功摆脱了它。

方法如下:

  begin
    # put line of code which triggers alert on page
  rescue Selenium::WebDriver::Error::UnhandledAlertError
    @browser.alert.ok 
  end

【讨论】:

    猜你喜欢
    • 2022-09-29
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多