2013-03-07 2 views
4

Как я могу позволить хром (используемый watir) оставаться в фоновом режиме? На каждом .goto браузер получает фокус и становится активным окном.Не хочу фокусироваться на .goto

Использование того же скрипта с ff или т. Е. Не действует так.

С уважением.

Пример:

require "watir" 
    # browser = Watir::Browser.new :firefox # stays in background 
    browser = Watir::Browser.new :chrome  # getting focus on .goto 
    for i in 0..5 
     browser.goto "http://google.com?q=#{i}" 
     sleep 5 
    end 
    browser.close 

Окружающая среда:

  • Windows 7 64bit
  • рубин 1.9.3p125 (2012-02-16) [i386-mingw32]
  • Watir (4.0. 2 x86-mingw32)
  • watir-classic (3.4.0)
  • watir-webdriver (0.6.2)
  • chromedriver версия = 26.0.1383.0

Edit: Как написано в комментариях ниже, я не хочу, чтобы свернуть окно.

+0

Вы фокусирования в другом месте, пока работает в фоновом режиме? Если вы просто хотите свести к минимуму окна, я думаю, что смогу вам помочь. –

+0

Это сложная часть, watir-window должен оставаться открытым, так что я могу смотреть его и делать другие мысли в одно и то же время. Как я сказал firefox и, т. Е. Не получаю фокус. – inselberg

+0

Я тебя сейчас. Не оптимальное решение, но как вы думаете, если вы сделаете вкладку alt + в своем цикле выше, этого будет достаточно, чтобы сохранить фокус? –

ответ

0

Я думаю, что вы можете добиться того, что вам нужно, используя win32ole. Идея состоит в том, чтобы имитировать нажатие клавиши ALT + SPACEBAR + N, чтобы окно было сведено к минимуму сразу же после его открытия!

Это самое простое, о котором я могу думать.

Здесь:

require 'win32ole' 
skey = WIN32OLE.new('Wscript.Shell') 

skey.sendKeys("(%) + (' ') + (n)") #--> minimize window 
  • Примечания выше было успешно протестировано с WinXP и Firefox, но я не вижу никаких причин, почему он не должен работать с вашей конфигурацией, как ключ комбо окна на основе ,

удачи