如何为ruby/Watir和Page对象创建表集合
我有一个包含一系列动态表的页面。如何为ruby/Watir和Page对象创建表集合,ruby,watir,pageobjects,page-object-gem,Ruby,Watir,Pageobjects,Page Object Gem,我有一个包含一系列动态表的页面。 我希望能够循环遍历这些表,将它们转换为哈希(使用.hashes方法),并将它们与.yml文件中的数据进行比较。 但我似乎无法让这些收藏品发挥作用 以下是一次尝试(使用虚拟页面): 表访问器方法类似于元素访问器方法。创建的方法实际上是all\u tables\u elements(注意“\u elements”部分),而不是创建all\u tables方法 换句话说,表上的迭代应为: self.all_tables_elements.each do |table|
我希望能够循环遍历这些表,将它们转换为哈希(使用.hashes方法),并将它们与.yml文件中的数据进行比较。 但我似乎无法让这些收藏品发挥作用 以下是一次尝试(使用虚拟页面):
表
访问器方法类似于元素
访问器方法。创建的方法实际上是all\u tables\u elements
(注意“\u elements”部分),而不是创建all\u tables
方法
换句话说,表上的迭代应为:
self.all_tables_elements.each do |table|
puts table.hashes
puts '---'
end
请注意,这实际上不会为示例页面创建任何输出。表的当前定义假定它们位于主页面中。但是,在这种情况下,表位于iframe中。您需要明确说明何时查看iFrame。要获得输出,应在iframe中的块中定义该表:
in_iframe(:class => 'framebox') do |frame|
tables(:all_tables, :class =>'google-visualization-table-table', :frame => frame)
end
看起来不错,谢谢。我以前用过你的网页。这很有帮助。我在hash方法上收到了一个弃用警告。有什么建议吗?你用的是什么版本的页面对象?Table#hashes
方法刚刚添加到v1.0.3(这是最新版本)中,我只是追溯到了这一点。现在更新我的宝石。谢谢
in_iframe(:class => 'framebox') do |frame|
tables(:all_tables, :class =>'google-visualization-table-table', :frame => frame)
end