11

我有一个没有为表格单元格分配唯一 ID 的应用程序。给定第 1 列中的唯一文本、第 2 列中的管理链接和第 3 列中的删除链接,我如何告诉水豚单击包含文本“Foo”的同一行中的管理链接?

Foo   manage  delete
Bar   manage  delete

我看到与子句一起使用find('tr', text: "Foo")时如何使用。.should我看到了如何单击包含文本“管理”的链接。但是我看不到如何将它们组合起来以找到一行,然后在该行中单击一个链接。

4

2 回答 2

15

我已经对此进行了测试,它应该可以工作:

find(:xpath, "//tr[td[contains(.,'Foo')]]/td/a", :text => 'manage').click

这就是说,找到包含文本“Foo”的列的行,然后单击同一行中包含文本“管理”的列中的链接。

如果您不在乎 'Foo' 出现在哪里(即可以在行中的任何位置),那么您可以这样做:

find(:xpath, "//tr[contains(.,'Foo')]/td/a", :text => 'manage').click
于 2012-10-12T03:57:05.840 回答
11

另一个例子:

When(/^I delete the Book with the Title "(.*?)"$/) do |title|
  find('tr', text: title).click_link("Delete")
end
于 2015-09-25T19:41:47.913 回答