如何从页面对象页面部分内部访问父级 window?

How to access a parent window from inside a page-object page-section?

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

在 JS 模态 window 上使用 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

在页面部分使用上述方法创建模态对话框时,出现以下错误,因为页面部分不再是 window。应用程序有很多多级对话框(即从模态对话框产生的模态对话框)

NoMethodError: undefined method `window' for Watir::Div:0x0000000481e7b0

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

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

your_element.browser
#=> Watir::Browser

如果你需要window,你可以调用#window:

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