Как передать параметр браузера в Watir

Я использую Ruby, и я использую последнюю версию Warri. Я планирую использовать браузер без браузера, такой как PhantomJS. Как можно передать paramater в браузер Phantom JS, когда он будет выполнен.

Моя цель состоит в том, чтобы Phantom JS не нужно загружать изображения.

1 ответ

Как описано в странице командной строки PhantomJS, есть возможность управлять загрузкой изображений:

- load-images = [true | false] загружает все встроенные изображения (по умолчанию это правда). Также принято: [да | нет].

Во время инициализации 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')

Что дает скриншот с загруженными изображениями:

И скриншот без загруженных изображений:

Обратите внимание, что изображение Google страницы не загружается во второй снимок экрана (как и ожидалось, так как для загрузочных изображений установлено значение false).

licensed under cc by-sa 3.0 with attribution.