Capybara/HTML -检查下面一行的文本



我正在努力与水豚和我希望在网站上验证的内容。该网站是用HTML编写的。我试图根据其标签值验证文本框中的文本。已经过去好几个小时了,我还是卡住了。希望有人能帮助我!

表结构基本上是这样的:

<table>
   <thead>
   <tbody>
       <tr>
         <td class="labelColumn"><span title="Label1:">Label1:</span></td>    
         <td class="outputColumn"><span id="Value1:" title="Value1:">Value1</span></td>
         <td class="labelColumn"><span title="Label2:">Label2:</span></td>    
         <td class="outputColumn"><span id="Value2:" title="Value2:">Value2</span></td>
         <td class="labelColumn"><span title="Label3:">Label3:</span></td>    
         <td class="outputColumn"><span id="Value3:" title="Value3:">Value3</span></td>
       </tr>
     </tbody>
   </table>

我想做的是根据Label1的内容获得Value1,根据Label2等获得Value2

我试过这样做:

页面。find(:css, 'tr', text: Label,:match =>:first)。应该have_text(价值)

但这只意味着它在tr作为一个整体进行搜索,而不是特定地Label1Value1

谁能给我指个正确的方向?提前感谢!编辑:我应该看数据表吗?
| Label1 | Value1 |
| Label2 | Value2 |
| Label3 | Value3 |

CSS选择器不适合您要评估的结构,但是XPath可以很好地处理它。下面的代码应该可以工作

page.find(:xpath, ".//td[contains(., 'Label1:')]/following-sibling::td[1]/span").should have_text('Value1') 

相关内容

  • 没有找到相关文章

最新更新