watir - 如何从页面对象页面部分内部访问父窗口?
问题描述
有没有办法从页面部分的模式对话框中访问页面部分的父页面?
在 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 的未定义方法“窗口”
有没有办法访问原始浏览器窗口以附加模式对话框?
解决方案
从元素中,您可以使用以下#browser
方法获取它的浏览器:
your_element.browser
#=> Watir::Browser
如果你需要这个窗口,你可以调用#window
它:
your_element.browser.window
#=> Watir::Window
推荐阅读
- angular - 如何在 Angular 中显示来自 REST API(嵌入式)的 MongoDB 数据?
- python - 使用 RegEx 从 .h 文件中提取结构定义以根据 [XXX] 标准检查代码一致性
- visual-studio-code - 为什么没有程序在 Visual Studio 代码中运行?
- c - Bison yyerror 忽略语法上的下一个标记
- c++ - 如何跨线程恢复增强纤维?
- javascript - 如何使用 AngularJS 使文档准备好有条件?
- swift - Swift 中的 Mapbox 3D 地形路线
- python - 执行有界方法时未更新 Python 字典键
- php - 多单选按钮数组通过codeigniter插入数据库
- css - 如何在 React Google Charts 中的直方图上放置一条线