【问题标题】:How to handle the popup security alert in watir如何处理 watir 中的弹出安全警报
【发布时间】:2014-03-17 21:21:01
【问题描述】:

在花了一整天试图弄清楚如何处理 Watir 中的安全弹出警报之后,我基本上已经碰壁了。

我正在尝试制作一个非常简单的脚本,用于登录到这个 HTTPS 站点,它会抛出这个我无法通过的弹出警报。

要查看此消息,请在此站点“https://www.google.com/cse/home?cx=007267089725385613265:gmydx5gtw6u”上键入:“安全警报弹出”

我试过的是这样的:

  1. 在 Firefox 的“about:config”中一起禁用此消息,但这是不可能的,因为无论如何都会弹出警告。

  2. 我已尝试要求使用此页面上的“WindowsHelper”和“WindowsClicker”:http://rubyforge.org/pipermail/wtr-general/2007-February/009181.html 我看到该文档相当陈旧。

  3. 还找到了一个在消息框上使用“.use”然后单击它的示例,但这没有帮助。

在 2 和 3 中,我编写的代码可能是错误的,因为我不是 Watir 方面的专家。

我现在的代码是这样的:

require 'rspec'
require 'watir-webdriver'

SITE = "https://anypage.com"
BROWSER = Watir::Browser.start(SITE, :firefox)

Given /^I am on the login page for anypage$/ do
    BROWSER.goto(SITE)
end

When /^I successfully log in as a user$/ do

    BROWSER.text_field(:name => 'UserName').set 'USERNAME'
    BROWSER.text_field(:name => 'Password').set 'PASSWORD'
    BROWSER.button(:class => 'btn btn-lg btn-primary btn-block').click
    **MustHandlePopUpHere**
    BROWSER.do_more
end

如果这很重要,我正在使用 WatirWebdriver 0.6.8 版和 Ruby 1.9.3 版。

【问题讨论】:

    标签: ruby cucumber watir watir-webdriver


    【解决方案1】:

    Watir 有一个处理警报的 API。您可以使用以下命令确认警报:

    BROWSER.alert.ok
    

    这是 Watir 搜索页面的工作示例:

    require 'watir'
    
    # Go to the page
    browser = Watir::Browser.new :firefox
    browser.goto 'https://www.google.com/cse/home?cx=007267089725385613265:gmydx5gtw6u'
    
    # Input the search
    browser.text_field(:id => 'q').set('security alert pop up')
    browser.button(:value => 'Search').click
    
    # Confirm the popoup
    browser.alert.ok
    

    您可以在以下位置阅读有关警报 API 的更多信息:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-25
      • 2015-12-16
      • 1970-01-01
      • 2016-04-10
      • 2018-11-10
      • 2015-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多