如何在Ruby

时间:2016-04-20 09:06:53

标签: ruby selenium selenium-webdriver alert saucelabs

我得到这样的弹出窗口......

enter image description here

......或者像这样...

enter image description here

...我的Selenium Automation测试我在SauceLabs上远程运行。我尝试了许多方法来禁用它们或解雇它们,但似乎没有任何效果。我尝试为我的功能添加一个设置:

autoAcceptAlerts: true

我也试过用驱动程序本身切换到警报:

def click css_selector
  begin
    browser.find_element(:css, css_selector).click if rendered? css_selector
  rescue Selenium::WebDriver::Error::UnknownError
    browser.switch_to.alert.accept
    click css_selector
  end
end

但似乎没有任何效果。我相信以前有人必须处理这样的事情,任何解决这个问题的运气,最好是"跨浏览器"?

...谢谢

1 个答案:

答案 0 :(得分:0)

我通过使用send_key方法来模拟按下转义键来修复此问题:

def click css_selector
  begin
    browser.find_element(:css, css_selector).click if rendered? css_selector
  rescue Selenium::WebDriver::Error::UnknownError
    dismiss css_selector
    click css_selector
  end
end

def dismiss selector
  browser.find_element(:tag_name, "body").send_keys :escape
end

它在任何方面都不完美,但现在它是一个解决方案,如果你有更好的方法摆脱这些,请告诉我。

感谢。