如何将浏览器参数传递给Watir

时间:2014-08-06 02:05:29

标签: ruby phantomjs watir

我正在使用Ruby并使用最新的Watir宝石版本。我打算使用像PhantomJS这样的无头浏览器。如何在执行时将paramater传递给Phantom JS浏览器。

我的目的是让Phantom JS不需要加载图像。

1 个答案:

答案 0 :(得分:8)

PhantomJS command line page所述,有一个控制图像加载的选项:

  

- load-images = [true | false]加载所有内联图像(默认为true)。也接受:[是|否]。

在Watir :: Browser初始化期间,可以在:args键中将这些设置指定为数组。例如:

args = %w{--load-images=false}
browser = Watir::Browser.new(:phantomjs, :args => args)

一个工作示例:

require 'watir-webdriver'

# Capture screenshot with --load-images=true
browser = Watir::Browser.new(:phantomjs)
browser.goto 'https://www.google.com'
browser.screenshot.save('phantomjs_with_images.png')

# Capture screenshot with --load-images=false
args = %w{--load-images=false}
browser = Watir::Browser.new(:phantomjs, :args => args)
browser.goto 'https://www.google.com'
browser.screenshot.save('phantomjs_without_images.png')

其中提供了加载图片的屏幕截图:

phantomjs_with_images.png

没有加载图片的屏幕截图:

phantomjs_without_images.png'

请注意,页面的Google图片未在第二个屏幕截图中加载(正如预期的那样,因为load-images设置为false)。