我正在使用Rspec和Watir-webdriver,我希望得到所有已点击的元素的计数。
我在做什么:
我执行搜索并返回结果列表;然后我运行一个循环来只选择其中的5个。这些元素的类名从asset-card selectable
到现在说asset-card selectable selected
。
我试着通过这样做得到正确的计数:
count = @browser.elements(:class, 'selected').size
但是这仍然是所有结果,而不是特别是现在selected
作为类名的一部分的结果。
有关如何实现这一目标的任何想法?
这就是html的样子:
<div class="search results">
<div class="asset-card selectable selected"></div>
<div class="asset-card selectable selected"></div>
<div class="asset-card selectable"></div>
<div class="asset-card selectable"></div>
<div class="asset-card selectable"></div>
</div>
在这个html示例中,前两个元素已被选中
答案 0 :(得分:0)
我感到相当愚蠢;我找到了一个解决方案来解决为什么我没有得到正确的计数的问题:这是因为我没有等待足够长的时间
在我放置sleep 1
个持续时间后,它返回的计数与我点击的内容一致。我对此的想法并不完全是技术性的,但它的表现就像点击动作和类名更改在执行操作之前可以确定正确的计数。
我将寻求一个更优雅的wait
解决方案,因为我希望尽可能避免使用sleep
命令