【发布时间】:2015-01-18 16:28:33
【问题描述】:
我正在尝试做的是单击图像滑块上的“下一步”按钮并验证它是否将我带到下一张图像。
分页点具有“btn dot icon”类。有一个 EventListener,它为当前选定幻灯片的 pip 提供类“btn dot icon selected”。我可以在 irb 中验证这一点:
irb(main):091:0> @b.span(:class, 'btn dot icon selected').text
=> "Page 0"
irb(main):092:0> @b.span(:text => 'Next', :index => 1).click
=> []
irb(main):093:0> @b.span(:class, 'btn dot icon selected').text
=> "Page 1"
但是,通过 Watir-WebDriver 运行相同的程序,它会在单击“下一步”时返回“第 0 页”。添加隐式等待并没有什么不同。
这可能是什么问题?
注意:“下一个”按钮匹配器会查找第二个匹配项 (:index => 1),因为在我感兴趣的滑块上方还有另一个滑块,但该滑块没有分页点(通过 @ 验证987654322@).
Ruby 1.9.3p545、Watir-WebDriver 0.6.11、Selenium-WebDriver 2.44.0、Firefox 33.1
【问题讨论】:
-
当它在 irb 而不是脚本中工作时,这通常意味着它是一个时间问题。你是怎么等待的?
-
@b.driver.manage.timeouts.implicit_wait = 30这是在点击下一步之后放置的。然后测试确实需要大约 30 秒的时间才能运行,但仍会导致“Selenium::WebDriver::Error::ElementNotVisibleError”。好的,握住电话,我在进一步调查后才发现这个问题。最终我注意到,虽然点击事件被触发而没有错误,但它没有任何效果。我查找了如何将点击作为 JavaScript 事件执行,它确实有效。感谢您的帮助!
标签: watir-webdriver