Как запустить безголовый браузер Firefox с моим скриптом Ruby?

Мне нужно иметь возможность запускать мои сценарии Ruby с моими сборками Hudson, но я не хочу, чтобы окно браузера пыталось открыться. Я пытался:

batman:ETW cmiller$ ./createAccount.rb -b

но это не сработало.

Как я могу запускать свои Ruby-скрипты с помощью FireWatir без головы?

Запуск на Mac OSX


person Curtis Miller    schedule 18.06.2011    source источник
comment
Сообщив нам, что ваша командная строка не покажет нам ничего полезного, если не будет запущен фактический исходный код.   -  person the Tin Man    schedule 19.06.2011
comment
Однако исходный код не имеет значения, командная строка показывает, что я запускаю -b, который работает в watir для запуска браузера без заголовка, но не работает в firewatir.   -  person Curtis Miller    schedule 19.06.2011
comment
удален рубин в пользу watir-webdriver в тегах. Вы не упоминаете, на какой ОС работает CI, что может быть фактором в ответах.   -  person Chuck van der Linden    schedule 28.06.2011


Ответы (4)


Я бы посмотрел на использование Watir-Webdriver вместо простого Watir или Fire-watir. Тем более, что работать с более новыми версиями Firefox будет только через Watir-Webdriver.

Там был более ранний вопрос SO, где ответ охватывает именно такие вещи, поэтому я бы предложил сначала попробовать то, что там описано. Могу ли я использовать Watir для сбора данных с веб-сайта на сервере Linux без монитора?

Также, поскольку теперь я знаю, что вы используете Mac OS, совет в этой теме из группы google webdriver может быть более подходящим для вас

person Chuck van der Linden    schedule 27.06.2011

Я бы предложил использовать PhantomJS (http://phantomjs.org/download.html) Добавить двоичные файлы на свой путь и запустить:

    MEDBEDbs-iMac:~ medbedb$ irb
    1.9.3p392 :001 > require 'watir-webdriver'
     => true 
    1.9.3p392 :002 > b = Watir::Browser.new :phantomjs
     => #<Watir::Browser:0x..fe670a70a449fe1ca url="about:blank" title=""> 
    1.9.3p392 :003 > b.goto "www.google.com"
     => "http://www.google.md/" 
    1.9.3p392 :004 > b.url 
     => "http://www.google.md/" 
    1.9.3p392 :005 > b.title
     => "Google"
    1.9.3p392 :007 > b.text
 => "+Вы\nПоиск\nКартинки\nКарты\nPlay\nПочта\nДиск\nКалендарь\nЕщё\nВойти\n×\nОткрывай любимые сайты быстрее\nЗагрузить Google Chrome\n\nМолдoва\n\n \nРасширенный поиск\nЯзыковые инструменты\n\nGoogle.md предлагается на: Moldovenească\n\nРекламные программыВсё о GoogleGoogle.com\n© 2013 - Правила и принципы" 
person Sveatoslav    schedule 18.03.2013
comment
Как отключить ведение журнала для фантомных js, т.е. ИНФОРМАЦИЯ, ПРЕДУПРЕЖДЕНИЕ и т. д.? - person stack1; 23.01.2015

Посмотрите на http://watirmelon.com/tag/headless/. Я следил за http://watirwebdriver.com/headless/ в Linux, который мне подходит. В приведенной выше ссылке учебник предназначен для Mac

Вот выдержка из ссылок, как использовать безголовый браузер:

  require 'watir-webdriver' 
    require 'headless'

Теперь запустите безголовый и браузер

   headless = Headless.new
    headless.start 
    b = Watir::Browser.start 'www.google.com' puts b.title
    b.close headless.destroy

Ваш браузер должен работать без головы.

person amjad    schedule 26.09.2012
comment
Не могли бы вы уточнить основное содержание этих ссылок? (На случай, если они перестанут работать в будущем) - person Andy Hayden; 26.09.2012
comment
Headless НЕ будет работать в Windows. Вместо этого используйте фантомы. - person stack1; 23.01.2015

Браузер открывает окно в рамках своей обычной работы и поведения.

Вы можете использовать Mechanize, который предоставляет возможность навигации по сайту. Это не браузер, но он использует Nokogiri внизу, чтобы вы могли получать информацию DOM и управлять формами, отправлять их и получать любые результирующие изменения страницы. Однако Mechanize не поддерживает синтаксический анализ/выполнение Javascript, что возвращает вас в мир WATIR.

person the Tin Man    schedule 18.06.2011