水豚和带有重复文本的嵌套 div

Capybara and nested divs with repetitive text

我正在尝试测试标题为黄瓜和水豚的部分。这个词本身就是实践。问题是在页面上多次使用练习,所以我遇到了模糊匹配的问题。由于这个词嵌套在许多 div 中,所以我很困惑。相关部分代码如下:

  <li class="section">
    <div class="section">
      <div class="section-heading" data-tracking-label="Lesson Menu > Section Heading">
        <div class="indicator">
          <div class="icon">
            <div class="glyph"></div>
          </div>
        </div>
        <div class="name">Practice</div>
      </div>

我可以通过以下方式解决这个问题

page.find('.section-heading', :text => 'Practice').click

使用以下语法:

# within syntax is best when you have Ambiguous matches
within(".section-heading")do
  find('.name', :text => 'Practice').click
end