【问题标题】:undefined method `javascript_dialog' in Watir 2.0.4Watir 2.0.4 中未定义的方法“javascript_dialog”
【发布时间】:2011-11-11 00:10:25
【问题描述】:

我无法使用 watir 2.0.4 单击 java 脚本警报。这是我试图点击的警报。我用来点击 javascript 警报的代码行是

browser.javascript_dialog.button('OK').click

我得到的只是错误信息

undefined method `javascript_dialog' for #<Watir::IE:0x46efcb8> (NoMethodError)

我需要安装一些特定的 gem 才能让它工作吗?我认为 watir 是我所需要的,我已经安装了它。 Watir 2.0.4 不支持吗?请在下面找到我的宝石。

我还尝试通过在单击 javascript 警报之前添加以下行来抑制 java scrit 警报。它也没有工作。等待您的宝贵意见。谢谢!

browser.execute_script "window.confirm = function() { return true; }" 

browser.execute_script "window.alert = function() { return true; }" 

browser.execute_script "window.prompt = function() { return true; }" 

* 本地宝石 *

构建器 (3.0.0)

commonwatir (2.0.4)

ffi (1.0.10 x86-mingw32)

锄头 (2.12.3)

minitest (1.6.0)

nokogiri (1.5.0 x86-mingw32)

耙子 (0.8.7)

r自动化(0.6.3)

rdoc (2.5.8)

s4t-utils (1.0.4)

用户选择 (1.1.6.1)

瓦提尔 (2.0.4)

win32-api (1.4.8 x86-mingw32)

win32 进程 (0.6.5)

windows-api (0.4.0)

windows-pr (1​​.2.1)

xml-simple (1.1.1)

【问题讨论】:

    标签: watir


    【解决方案1】:

    Watir RDoc 方法列表没有列出 .javascript_dialog

    但它确实有 .java_dialog_window

    我会尝试使用

    browser.javascript_dialog_window.button('OK').click
    

    我不确定该方法是否由于某种原因被重命名并且 wiki 中的弹出页面没有更新,或者该页面是否一直使用错误的方法名称。让我知道这是否可行,如果可行,我可以对 TPTB 进行错误处理以找出需要更改的内容。

    【讨论】:

    • 没有运气查克范。我尝试了 browser.javascript_dialog_window.button('OK').click 我收到错误“#<:ie:0x15f8070> (NoMethodError) 的未定义方法 `javascript_dialog_window'”
    • 您的 require watir 行是什么样的,您是否指定了任何选项,例如使用 Autoit 适配器而不是 RAutomation?
    • 嗨 Chuck van,我没有使用 autoit 适配器或 Rautomation。我认为“browser.javascript_dialog_window.button('OK').click”应该可以在不需要autoit的情况下工作。在我的文件顶部,我只有“需要 Watir”。我需要更多的东西吗?我知道我可以使用以下几行 autoit 代码让它工作。使用“browser.javascript_dialog_window.button('OK').click”的原因是,我不想使用 autouit,因为它不能始终如一地工作。 @autoit = WIN32OLE.new('AutoItX3.Control');@autoit.WinWaitActive("来自网页的消息","");@autoit.Send("{Space}")
    • 我相信(如果您检查源代码)该命令在后台使用 RAutomation,因此我的问题是它是否设置为特定的适配器。如果您没有设置任何内容,它将使用默认值。但是,我很奇怪您没有看到该方法。我现在正在查看源代码(在我的系统上,它是在 C:\Rubies\Ruby192\lib\ruby\gems\1.9 中找到的 dialog.rb。 1\gems\watir-2.0.4\lib\watir\dialogs ) 定义了方法,以及 :dialog 和 :javascript_dialog 的别名。
    • 嘿.. 在我的机器“C:\Ruby192\lib\ruby\gems\1.9.1\gems\watir-2.0.4\lib\watir\dialogs”下,我只看到 file_field。 rb 和 javascript.rb。我在这里没有看到 dialog.rb。我什至尝试过“gem uninstall watir”,然后是“gem install watir -v 2.0.4”。即使那样,我也只看到 file_field.rb 和 javascript.rb。我不明白为什么我的机器上缺少 dialog.rb 文件。我怎样才能得到 dialog.rb?
    猜你喜欢
    • 1970-01-01
    • 2018-07-02
    • 2012-07-05
    • 2017-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    相关资源
    最近更新 更多