Ruby 如何使用capybara单击项目列表中的一个项目

Ruby 如何使用capybara单击项目列表中的一个项目,ruby,testing,capybara,Ruby,Testing,Capybara,我的html代码我有一个按钮 <input class="search hidden" id="search_button" type="submit" value="Search" style="display: block;"></input> 当我点击按钮时,许多项目生成如下: <div id="search_results" class="" style="display: block; left: 522.083px; top: 459.617px;

我的html代码我有一个按钮

<input class="search hidden" id="search_button" type="submit" value="Search" style="display: block;"></input>

当我点击按钮时,许多项目生成如下:

<div id="search_results" class="" style="display: block; left: 522.083px; top: 459.617px; width: 398px;"> 
    <img alt="Load-circle" class="load-circle" src=".../123">
    <div id="app_341446764" class="search-result"><img src=".../DictationIcon.png">abc</div>
    <div id="app_561941526" class="search-result"><img src=".../Icon.png">def</div>
</div>

abc
def

我有很多div都有类搜索结果,我不知道如何单击其中一个(class=“search result”),有人给我推荐一个解决方案吗。

理想情况下,您可以添加一个唯一的id,如@juan manuel rodulfo salcedo建议的那样。但是,如果您不能这样做,则可以使用
class=search result
查找所有div。下面是如何单击页面上第二个div的示例:

page.all('.search-result')[1].click

有关如何选择多个元素的更多示例,请参见此。

为什么不向生成的div id添加索引?喜欢id=“searh_results_#{index}”,这样您就知道要单击哪个div,而不是我的代码,我无法更改它