选择父元素的父元素。 Tables/Watir/Ruby

Selecting the Parent of the Parent element. Tables/Watir/Ruby

嘿,我想 select 我想是父元素的父元素。我有一个 table,其中我试图使用 Watir/Ruby 到 select 来自同一行但在不同列中的编辑或删除按钮,例如。

名称 1 -> 编辑图标 -> 删除图标

名称 2 -> 编辑图标 -> 删除图标

示例代码如下:

<html>
 <body>
     <table class="table-responsive">
         <thead>...</thead>
             <tbody>
                 <tr>
                     <td class="col-name">Name 1</td>
                     <td> 
                         <a class="edit" href="/">
                             <span class="icon-edit"></span>
                         </a>
                         <a class="delete" href="/">
                             <span class="icon-delete"></span>
                         </a>
                     </td>
                 </tr>
                 <tr>
                     <td class="col-name">Name 2</td>
                     <td> 
                         <a class="edit" href="/">
                             <span class="icon-edit"></span>
                         </a>
                         <a class="delete" href="/">
                             <span class="icon-delete"></span>
                         </a>
                     </td>
                 </tr>
                 <tr>
                     ...
                 </tr>
         <tbody>
     </table>
 </body>
</html>

到目前为止,我已经试过了,但没有用。我收到一个错误 TypeError: 无法将 Hash 转换为精确数字

  table = @browser.table.when_present(:class => "table-responsive")
    iconrow = table.span(:text => "Name 1").parent
    if iconrow.a(:class => "edit").exists?
      iconrow.a(:class => "edit").click
    end

代码可能存在几个问题: * :class 定位器应用于 when_present 而不是 table 本身。 * 带有 "Name 1" 的元素是 td 而不是 span.

尝试:

table = @browser.table(:class => "table-responsive").when_present
iconrow = table.td(:text => "Name 1").parent
if iconrow.a(:class => "edit").exists?
  iconrow.a(:class => "edit").click
end