0

我有一个 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 中的 span 中获取余额。我确信有一种方法可以用 Xpath 做到这一点,但我无法弄清楚。任何帮助都会很棒。

4

1 回答 1

2

您要求 XPath,所以它是:

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

请注意,XPathes 的可读性不是很好,使用 Capybara 的 ruby​​ 方法可能会更好:

tr = find('tr', text: 'Neely')
tr.find('.money').text
于 2013-06-06T23:13:22.347 回答