0

尝试验证以下 HTML 中的第二个链接:

<div id="navigation">
 <ul>
  <li>
   <a href="/tv">TV</a>
  </li>
  <li>
   <a href="/radio">Radio</a>
  </li>

使用以下表达式:

page.find(:xpath, "//div[@id='navigation']//a").should have_content('Radio') 

我收到以下错误:

expected there to be content "Radio" in "TV"

当我使用双斜杠时,不应该对 DIV 节点内的所有 A 元素进行查找方法研究吗?这可能是一个错误还是我做错了什么?

还有其他方法可以验证第二个链接吗?

谢谢你们的帮助!

4

1 回答 1

0

在您的情况下, find将首先a在 Capybara < 2.0 中找到,并且会在 Capybara 2.0 中引发歧义匹配异常,因为这样的定位器有多个元素。

我建议您执行以下操作:

page.should have_selector('#navigation a', text: 'Radio')
于 2012-12-14T21:28:19.450 回答