如何将浏览器参数传递给Watir[英] How to pass browser parameter to Watir

问题描述

我正在使用 Ruby,并且正在使用 Watir 的最新 gem 版本.我打算使用无头浏览器,例如 PhantomJS.执行时如何将参数传递给 Phantom JS 浏览器.

我的目的是让 Phantom JS 不需要加载图片.

推荐答案

PhantomJS 命令中所述line page,有一个选项可以控制图片的加载:

<块引用>

--load-images=[true|false] 加载所有内联图片(默认为true).也接受:[yes|no].

在 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).

本文地址:https://www.itbaoku.cn/post/1739973.html