选择Parent元素的Parent。表/的Watir /红宝石

时间:2018-01-08 21:48:12

标签: ruby automated-tests watir

嘿,我想尝试选择父元素的父元素。我有一个表,我试图使用Watir / Ruby从同一行中选择编辑或删除按钮,但在不同的coloumn,例如。

名称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:无法将哈希转换为确切的数字

  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

1 个答案:

答案 0 :(得分:1)

代码可能存在一些问题: *:类定位器正在应用于when_present而不是表本身。 *&#34;名称1&#34;是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