所以我试图在页面上抓取一行表格标题:
header_row = @page.send('header_row_element')
headers = header_row.ths.collect { |th| th.text }
table_of_elements.raw.flatten.each do |option|
expect(headers).to include option
end
Note: table_of_elements is coming from a Cucumber Table ie:
| value |
| another value |
| etc |
我在页面上找到标题行并返回值没有问题,但我的问题是该表位于滚动窗口
因此代码headers = header_row.ths.collect { |th| th.text }
返回的数组只包含滚动当前位置视图中的标题:
headers = [“value”,“另一个值”,“”,“”]
我似乎无法处理侧滚动窗口以获取视图中的其他标题。我尝试过 RAutomation , send_keys ,似乎没什么用。我不确定为什么ths.collect
方法无论可见性如何都不会返回所有值。
答案 0 :(得分:1)
如何实现滚动窗口将影响是否将文本检测为可见。例如,某些滚动窗口将溢出文本设置为隐藏,这将导致Selenium / Watir看不到文本。我相信这是一些DevExtreme控件,我遇到了这个。
如果th
元素中没有标记,最简单的解决方案是收集内部HTML。这将允许您绕过可见性检查:
headers = header_row.ths.collect { |th| th.inner_html }