Selenium: как сделать так, чтобы окно браузера не открывалось при каждом получении?

Каждый раз, когда я получаю,

    for a in al: 
        browser.get(a)
        ...

окно браузера попадает поверх и я не могу заниматься другими делами на компьютере.

Я использую python, драйвер Chrome и Windows 7.

Как я могу заставить браузер оставаться в фоновом режиме и предотвратить его появление поверх других окон каждый раз, когда происходит browser.get(a)?


person Eduard Florinescu    schedule 24.05.2013    source источник
comment
вы можете проверить некоторые параметры, которые вы можете добавить при создании объекта webdriver.BROWSERHERE(). проверьте ссылку для инструкции о том, как это сделать, и ссылка на список параметров Chrome для чтобы вы начали   -  person TehTris    schedule 24.05.2013


Ответы (1)


Когда браузер запускается, от ОС зависит, появляется ли он в фокусе/впереди или нет, вы мало что можете сделать (если вы не модифицируете сам Selenium, чтобы изменить способ запуска подпроцесса с браузером в нем). Однако, если вы работаете в ОС, которая его поддерживает, вы можете интегрировать pyvirtualdisplay в свои тесты и запустить Selenium в сеансе XVFB или что-то подобное, хотя тогда вам нужно будет отключить виртуальный дисплей, если вы хотите иметь возможность посмотрите тестовый запуск в браузере.

person Silas Ray    schedule 24.05.2013
comment
Вроде вы правы, но вроде тоже не работает с инструментами, которые прячут его в трей, при каждом получении он снова появляется сверху. - person Eduard Florinescu; 24.05.2013
comment
Маловероятно, что он может работать в свернутом состоянии, поэтому я понимаю, почему каждый вызов будет возвращать его обратно, если вы пытаетесь свернуть его, но если вы просто отправите его в фоновый режим, он должен продолжать работать в фоновом режиме, только открывая окно на передний план при запуске нового окна браузера. - person Silas Ray; 24.05.2013