1

我尝试了 watir wiki 示例来访问模式窗口。但得到参数错误。我正在尝试使用 watir 3 版本。

    puts b.modal_dialog(:title, "showModalDialog Method Sample Target Page").exists?
    puts b.modal_dialog(:title, "showModalDialog Method Sample Target Page").title
    b.modal_dialog(:title, "showModalDialog Method Sample Target Page").close
    b = Watir::Browser.new()
    b.goto("http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/refs/showModalDialog.htm")
    b.button(:value,"Push To Create").click_no_wait

错误信息

    C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/contai
    ner.rb:60:in `modal_dialog': wrong number of arguments (2 for 0) (ArgumentError) from C:/webtest/popup.rb:29:in `<main>'

有人可以帮助如何使用 watir 3 访问模式窗口

谢谢

4

1 回答 1

2

您收到的错误是说您提供的参数比该方法实际采用的参数多。

我从来没有调用在 Watir 中使用实际的模态方法,但是在对您提供的页面进行快速试验后,我能够使用以下方法与模态交互:

b.goto("http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/refs/showModalDialog.htm")
b.button(:id => "dCommand").click_no_wait
puts b.modal_dialog.text

在上面的示例中,我让它打印出模式的文本,但大概可以替换任何常规的 Watir 命令。

在 Watir 3.0 或更早版本中,似乎已删除了对指示与哪个模态交互的参数的要求(可能是因为您只能与一个交互?)。当我主要在 Firefox 中进行测试时,我搬到了 Watir-webdriver,所以我不确定这何时会改变,但它似乎确实不接受 3.0 中的任何参数。

于 2012-05-07T02:13:43.783 回答