Ruby on rails 水豚:范围内不将动作限制在该元素内部

Ruby on rails 水豚:范围内不将动作限制在该元素内部,ruby-on-rails,capybara,Ruby On Rails,Capybara,有多个类似的类和按钮,但我试图通过使用代码单击特定类中的按钮 within(first(locator, text: text))do scroll_to(first('button')) first('button').click end 从 ...... ...... ...... ...... ...... ...... 但是,当我运行上面的代码时,它会单击类似的按钮,该按钮位于类中其他一些类中,在内部未使用。任何建议我应该怎么做才能让它工作 还要检查我是否首先

有多个类似的类和按钮,但我试图通过使用代码单击特定类中的按钮

 within(first(locator, text: text))do
    scroll_to(first('button'))
    first('button').click
  end


......
......
......
......
......
......
但是,当我运行上面的代码时,它会单击类似的按钮,该按钮位于
类中其他一些类中,在内部未使用。任何建议我应该怎么做才能让它工作


还要检查我是否首先运行了
(locator,text:text)
,找到的元素的路径是类
的路径,我让它正常工作。事实上,我使用的是page.execute_脚本($('button')。click())来单击代码中的按钮,该按钮似乎不受内部使用的特定类的限制。但是现在我用没有脚本的纯水豚代码点击,它点击了正确的按钮现在

在('div#2.class_used_inside_inside_inside')先做('button')。点击结束
为你工作?只是想找出问题出在哪里也许滚动到方法把事情搞砸了?谢谢你们的建议,这不是滚动到功能上的方法。它很好用。事实上,我使用的是page.execute_脚本($('button')。click())来单击代码中的按钮,该按钮似乎不限于我在代码中使用的类。但现在我用纯capbybara代码点击,没有脚本,它现在点击了正确的按钮。我犯了个愚蠢的错误,对不起that@waqas,你可以把这个答案贴在这里,并把它标记为正确答案。所以我们将结案。
   <div class="some parent class"> 
         <div class="some other class" id="1">
               <div class="class1">......</div>
               <div class="class2">......</div>
               <div class="class of button">......</div>
            </div>
       <div class="class used inside within" id="2">
           <div class="class1">......</div>
           <div class="class2">......</div>
           <div class="class of button">......</div>
        </div>
</div>