如何从表中删除特定的表数据?

时间:2013-06-26 14:41:21

标签: watir-webdriver

在我的应用程序中,我有一个包含40行的表。如何在该表中删除一些名为“默认”,“标签”,“城市”,“有机”的特定<td>?所有删除链接都是具有相同src名称的图像。请找到表格行的附件。

我的步骤def:

Then(/^I click on all the delete rules on the setup page$/) do
  words = ["default", "tags","organic","city"]
  @current_page.delete_rules(:words => words)
end

在我的ruby类中,我添加了delete_rules方法,如下所示:

def delete_rules(words)
  image_elements(:src => "/tracker/images/skin2/bin.png").click
end

问题在于它删除了表格中的第一行,而不是我在数组中提到的行。

我的HTML是:

<tr>
    <td>
        <a href="edit.page?id=83">tags</a>
    </td>
    <td>
        <a href="delete.page?did=83">
            <img title="Delete" src="/tracker/images/skin2/bin.png">
        </a>
        <a href="edit.page?id=83">
        <a href="activate.page?id=83">
    </td>
    <td>
    </td>

1 个答案:

答案 0 :(得分:0)

您应该在删除方法中使用以下代码:

#check all <tr>
@browser.trs.each do  |row|
   # the row below will check the first <td> text in order to find "default", "tags", "city","organic" 
    if row.text.match(/default|tags|organic|city/)!= nil
      # the row below will click the 1st link in the 2nd <td> 
      row.td(:index=>1).link.click
    end
end