首页 > 解决方案 > 如何从页面对象页面部分内部访问父窗口?

问题描述

有没有办法从页面部分的模式对话框中访问页面部分的父页面?

在 JS 模态窗口上使用 Watir/PageObject,我可以访问模态窗口内的内容,如下所示。

dialog_box = ModalDialogBox.new @browser
dialog_box.modal_dialog do
  button.click
end
dialog_box.attach_to_window(title: browser.title)
dialog_box.add_data_to_form
dialog_box.click_save_button

从页面部分内部使用上述方法创建模式对话框时,我收到以下错误,因为页面部分不再是窗口。应用程序有很多多级对话框(即从模态对话框产生的模态对话框)

NoMethodError:Watir::Div:0x0000000481e7b0 的未定义方法“窗口”

有没有办法访问原始浏览器窗口以附加模式对话框?

标签: watirpage-object-gem

解决方案


从元素中,您可以使用以下#browser方法获取它的浏览器:

your_element.browser
#=> Watir::Browser

如果你需要这个窗口,你可以调用#window它:

your_element.browser.window
#=> Watir::Window

推荐阅读