Ruby with Watir:处理 JavaScript 弹出窗口

Ruby with Watir: Handling javascript popup window

本文关键字:窗口 JavaScript 处理 with Watir Ruby      更新时间:2023-09-26

我对 watir 和 javascript 弹出窗口有问题

这是我的测试脚本

require 'watir'
browser = Watir::Browser.start "/url/"
    browser.link(:text, /Add New Blog/).wait_until_present
    browser.link(:text, /Add New Blog/).click
    // Here is where the javascript window popup
    window = browser.ie.Document.ParentWindow
    browser.window(:title, /Blog/) do
    browser.text_field(:id, /text title of Blog/).set 'Watir'
    browser.select_list(:id, /dropdownlist type/).select ("News")
    browser.button(:value, /Save/).click
    end
问题是在窗口

弹出窗口显示后,它无法在窗口博客中找到text_field的元素。我也试过这个,但它说=> in 'window': wrong number of arguments (2 for 1) (ArgumentError)

browser.window(:title => "annoying popup").use do
  browser.button(:id => "close").click
end

有什么解决方案吗?顺便说一句,我使用 ruby 1.9.3。感谢您的帮助。TQ

瓦蒂尔有两种形式 -Watir-Classic和Watir-Webdriver。如果可能/方便,您应该使用 watir-webdriver,因为它是浏览器自动化的未来,所有开发重点都将向前发展。

如果你使用的是watir-webdriver,你的代码看起来很好。我从未使用过 watir-classic,但它似乎只支持使用哈希而不是多个参数初始化窗口。因此,如果您需要使用watir-classic,也许这将对您有用:

browser.window(title: /Blog/) { #execute block }