ruby - 如何使用 watir 滚动网页

标签 ruby cucumber watir watir-webdriver

我正在尝试滚动网页以查找并单击滚动页面时延迟加载的内容。我正在使用以下命令

require 'watir-webdriver'

@browser = Watir::new :firefox
@browser.send_keys :space

我在 firefox 上使用网络驱动程序,我在 ubuntu 上,但它不工作。在下面的 ruby​​ 代码中,我试图向下滚动页面,直到找不到带有 :id 的元素。该元素正在延迟加载。 几秒钟后我超时了,不知道下面的代码有什么问题。

When /^deal (\d+) is loaded$/ do |id|
  (0..5).each do |click|    
    @browser.send_keys :space
  end
end

使用 watir-driver 滚动页面的最佳方式是什么?

最佳答案

如果启用了 JavaScript,则可以访问底层驱动程序并执行一些 JavaScript 以在页面上滚动。

@browser.driver.executeScript("window.scrollBy(0,200)")

将沿 y 轴向下滚动页面 200 像素。

有关该方法的文档,请参见此处:

http://www.w3schools.com/jsref/met_win_scrollby.asp

关于ruby - 如何使用 watir 滚动网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13608890/

相关文章:

ruby - 如何将 Selenium java 方法转换为 ruby

ruby-on-rails - 损坏的 RSpec 和 Cucumber 测试并且不确定在哪里

ruby-on-rails-3 - 让 Selenium 与 Bootstrap 模态褪色一起玩的建议?

ruby - ElementNotVisibleError - 特定的 Watir-Webdriver 问题

ruby - 有没有办法使用 Selenium 和 Watir 确定某个元素在 Chrome 浏览器中是否可点击?

ruby-on-rails - Ruby 和 OpenStruct 只允许访问部分数据

ruby-on-rails - Rails 4 - thinking-sphinx 日期范围

ruby - 如何快速重置网页上的所有复选框?

ruby - 如何将 `:rand` 用作 map/collect 的一元方法?

使用 lambda 前后的 Java 8 Cucumber