在为此寻找解决方案的过程中,我想我可能在 Capybara (v1.1.2) 中发现了一个错误。
我设法使用以下方法解决了这个问题,而不是使用click
from capybara (这不允许我捕获异常),我开始使用click
selenium-webdriver 中的方法。
似乎当 Firefox 触发此警报框时,带有消息的字符串
尽管此页面已加密,但您输入的信息将通过未加密的连接发送,并且很容易被第三方读取
作为 的结果返回object.native.click
,否则返回字符串
行
被退回。
# Define the click method in ruby and call it when you're executing a 'click'
# Public: Click the object.
#
# object - Capybara::Node::Element object to click.
def click object
return_string = object.native.click
check_firefox_alertbox if return_string == "ok"
end
def check_firefox_alertbox
if @current_browser == :firefox
@session.driver.browser.switch_to.alert.accept
end
rescue Exception => e
puts e
end