Capybara - 单击基于其他值的链接

时间:2016-04-28 09:08:49

标签: html css xpath hyperlink capybara

我在查找和点击特定链接时遇到了一些困难。 HTML表格中的所有链接都包含'编辑' (它是配置设置的'编辑链接)。 但是,根据我正在处理的环境,链接会有所不同,因此只有'编辑'链接的位是一致的。

在页面的HTML中,我发现此链接是表的一部分,其中还包含我要编辑的配置设置。 我现在已经挣扎了几个小时,通过CSS找到这个链接,通过CSS ...基本上我需要有人帮忙。因此我的帖子在这里!

页面的HTML看起来像这样(我对它进行了匿名化 - 即使是一个单词?):

<table>
   <thead>
     <tr>
       <th>edit</th>
       <th>Name</th>
       <th>Value</th>
       <th>Label</th>
     </tr>
   </thead>

   <tbody>
       <tr>
         <td><a href="/configurations/406/edit">Edit</a></td>
         <td>Configuration 1</td>
         <td>This is its value</td>
         <td>This is its explanation</td>
       </tr>
       <tr>
         <td><a href="/configurations/327/edit">Edit</a></td>
         <td>Configuration 2</td>
         <td>This is its value</td>
         <td>This is its explanation</td>
       </tr>
       <tr>
         <td><a href="/configurations/328/edit">Edit</a></td>
         <td>Configuration 3</td>
         <td>This is its value</td>
         <td>This is its explanation</td>
       </tr>
     </tbody>
   </table>

有人可以给我一些指示,告诉我如何才能找到每一个&#39;编辑&#39;链接,基于&#39;配置&#39;?

提前多多感谢。这真的会让我头疼!

1 个答案:

答案 0 :(得分:1)

你可以将Capybaras发现和行动的范围扩展到其他元素,因此

find(:css, 'tr', text: 'Configuration 2').click_link('Edit')

会单击包含文本“Configuration 2”

的tr内的编辑链接