您可以使用该方法检查图像是否对用户实际可见present?
。您也可以使用该visible?
方法,但如果元素不存在,则会引发异常。.exists?
您可以在博客文章“检查元素 - 存在?可见?存在?”中看到这些和方法的比较。.
知道这一点后,您可以单击滚动箭头,然后检查最后一个图像是否存在(即实际可见)。
# Go to the page
browser = Watir::Browser.new :firefox
browser.goto 'http://www.hayneedle.com/product/curiousgeorgepeelstickgiantmural.cfm'
# This is the scroller control
scroller = browser.div(:id => 'HN_PP_RelatedCats')
# (optional) Check that the last image is *not* displayed
puts browser.div(:class => 'HN_Scroller_Cont').link(:index => 9).present?
#=> false
# Click the right scroller
scroller.div(:class => 'HN_Scroller_R').click
# Check that the last image is displayed
puts browser.div(:class => 'HN_Scroller_Cont').link(:index => 9).when_present.present?
#=> true
请注意,检查最后一个链接/图像正在使用when_present.present?
. when_present
允许滚动完成。没有它,您可能最终会在滚动完成之前检查元素(即您的错误否定)。有present?
返回真/假结果。