如何在特定的tr中找到td的值

时间:2013-06-06 22:18:47

标签: javascript ruby-on-rails-3 xpath capybara

我有一个rails应用程序,我正在写黄瓜测试。我试图从特定行中得到一个数字,所以我可以断言它。我有一张看起来像这样的表:

<table class="table table-striped" id="kids">
  <thead>
    <tr>
      <th>Name</th>
      <th>Balance</th>
      <th></th>
    </tr>
  </thead>

  <tbody>
    <tr data-link="/kids/2">
      <td>Jason</td>
      <td>
        <span>$</span>
        <span class="money">1.00</span>
      </td>
    </tr>
    <tr data-link="/kids/3">
      <td>Neely</td>
      <td>
        <span>$</span>
        <span class="money">0.50</span>
      </td>
    </tr>
  </tbody>
</table>

我需要选择一个具有特定名称的td,然后从以下td的范围中获取余额。我确信有一种方法可以用Xpath做到这一点,但我无法弄明白。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:2)

你问过XPath所以这里是:

//td[preceding-sibling::td[text()='Neely']]/span[@class='money']

请注意,XPathes的可读性不高,而使用Capybara的ruby方法可能更好:

tr = find('tr', text: 'Neely')
tr.find('.money').text