如何在Watir中查找特定的表格单元格

时间:2010-06-08 20:51:49

标签: xpath watir

使用Watir回归测试一些变化:我想在典型的旧式网页菜单中“点击”一行,其中菜单是一个表格表。在此特定示例中,表格单元格包含菜单项,并且仅由一个单元格组成的行具有onclick处理程序。我以为我可以

cell = browser.element_by_xpath("//div[@id='Menu']/descendant::td[text()='New!'")

并使用单元格获取父行,但我收到消息

  

c:/ruby/lib/ruby/1.8/rexml/parsers/xpathparser.rb:330:'Predicate':undefined   方法`[]'为nil:NilClass(NoMethodError)

对我来说毫无意义。

2 个答案:

答案 0 :(得分:1)

在得到答案之前,我们确实需要更多细节

一般来说,有几种方法可以处理表格。如果行数和列数始终相同,则可以对行号和列号使用绝对索引,但很多时候情况并非如此。

如果某个行上已知(唯一)文本,并且单元格的列已知,那么您通常可以通过使用正则表达式来识别具有已知(和唯一)文本的行,然后识别所需的单元格通过它在行内的“列”。

browser.row(:text,/ my search text /)。cell(:index,2)包含正则表达式匹配文本的行中的第二个单元格

答案 1 :(得分:1)

试试这个

cell = browser.div(:id,'Menu').cell(:text,'New!')
cell.click

并且,也许你失去了关闭']'?

cell = browser.element_by_xpath("//div[@id='Menu']/descendant::td[text()='New!']")