Capybara - 单击 link 基于另一个值
Capybara - Clicking a link based another value
我很难找到并点击特定的 link。
HTML table 中的所有 link 都包含单词 'Edit'(它是一个 'Edit' link 用于配置设置)。
但是,link 因我正在处理的环境而异,因此只有 link 的 'Edit' 位是一致的。
在页面的 HTML 中,我发现此 link 是 table 的一部分,其中还包含我要编辑的配置设置。
我已经努力了几个小时才通过 Xpath 找到这个 link,通过 CSS... 基本上我需要有人的帮助。因此我的 post 在这里!
页面的 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>
有人可以根据 'configuration' 给我一些关于如何到达每个 'Edit' link 的指示吗?
非常感谢。真是省得我头疼!
您可以将 Capybaras 的发现和操作范围限定到其他元素,因此
find(:css, 'tr', text: 'Configuration 2').click_link('Edit')
将单击包含文本 'Configuration 2'
的 tr 中的编辑 link
我很难找到并点击特定的 link。 HTML table 中的所有 link 都包含单词 'Edit'(它是一个 'Edit' link 用于配置设置)。 但是,link 因我正在处理的环境而异,因此只有 link 的 'Edit' 位是一致的。
在页面的 HTML 中,我发现此 link 是 table 的一部分,其中还包含我要编辑的配置设置。 我已经努力了几个小时才通过 Xpath 找到这个 link,通过 CSS... 基本上我需要有人的帮助。因此我的 post 在这里!
页面的 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>
有人可以根据 'configuration' 给我一些关于如何到达每个 'Edit' link 的指示吗?
非常感谢。真是省得我头疼!
您可以将 Capybaras 的发现和操作范围限定到其他元素,因此
find(:css, 'tr', text: 'Configuration 2').click_link('Edit')
将单击包含文本 'Configuration 2'
的 tr 中的编辑 link