amj*_*jad 13 ruby watir cucumber watir-webdriver
我正在尝试滚动网页以查找并单击滚动页面时延迟加载的内容.我正在使用以下命令
require 'watir-webdriver'
@browser = Watir::new :firefox
@browser.send_keys :space
Run Code Online (Sandbox Code Playgroud)
我正在使用firefox的web驱动程序,我在ubuntu上,但它无法正常工作.在下面的ruby代码中,我试图向下滚动页面,直到我找不到带有:id的元素.该元素懒洋洋地加载.我几秒后就会超时,不知道下面的代码有什么问题.
When /^deal (\d+) is loaded$/ do |id|
(0..5).each do |click|
@browser.send_keys :space
end
end
Run Code Online (Sandbox Code Playgroud)
使用watir-driver滚动页面的最佳方法是什么?
小智 20
如果您启用了JavaScript,则可以访问底层驱动程序并执行一些JavaScript以在页面上滚动.
@browser.driver.executeScript("window.scrollBy(0,200)")
Run Code Online (Sandbox Code Playgroud)
将沿y轴向下滚动页面200像素.
请参阅此处以获取该方法的文档:
http://www.w3schools.com/jsref/met_win_scrollby.asp
小智 7
我使用名为“watir-scroll”的宝石来帮助我完成此操作。虽然它通常需要滚动到的地方,但它也会滚动到坐标。
https://github.com/p0deje/watir-scroll
自从 Watir v6.16 watir-scrollgem 合并到watir
您可以滚动到特定元素
button1 = @browser.input(:class => "mileage_rate")
@browser.scroll.to button1
Run Code Online (Sandbox Code Playgroud)
或者只是滚动到顶部中间或中心
@browser.scroll.to :top
@browser.scroll.to :center
@browser.scroll.to :bottom
Run Code Online (Sandbox Code Playgroud)
或者滚动到一个坐标
browser.scroll.to [0, 200]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13666 次 |
| 最近记录: |