2014-02-18 47 views
0

我想检查页面上是否存在特定的结果。在任何给定的页面上最多可以有6个赞助结果。我试图设置创建计数,以便检查直到没有更多结果存在,但它只检查第一个结果,不检查其余结果。正在努力设置计数

我已经创建了如下

@continue='yes' 
@count=0 
until @continue=='no' 
    if @b.div(:class=>'result sponsored',:index=> @count).link(:index, 0).exists? 
    puts 'PASS - this advert is for a trade vehicle' 
    else 
    puts 'FAIL - this advert is not for a trade vehicle.' 
    end 
    sleep (1) 
    @count+=1 
    @continue='no' 
end 

能否请您指教为什么只检查页面上的第一个结果?

道歉,如果是模糊的,但对此是新的。如果你需要我提供更多信息,请告诉我。

感谢

马克

+0

请注意,您在循环结束@ continue'设置''到no'。因此,循环只能运行一次。如果您分享了该页面的链接或html的相关部分,我们可以帮助您提供解决方案。 –

回答

0

试试这个:

result = 'FAIL - this advert is not for a trade vehicle.' 
@b.divs(:class=>'result sponsored').each do |div| 
    if div.link.exists? 
    result = 'PASS - this advert is for a trade vehicle' 
    break 
    end 
end 
puts result