Как скрыть окно Firefox (Selenium WebDriver)? - PullRequest
40 голосов
/ 20 марта 2011

Когда я выполняю несколько тестов одновременно, я не хочу, чтобы окно браузера Firefox оставалось видимым ... Я могу свернуть его, используя selenium.minimizeWindow(), но не хочу этого делать.

Есть ли способ скрыть окно Firefox? Я использую FireFox WebDriver.

Ответы [ 14 ]

1 голос
/ 30 мая 2014

Я обнаружил, что самым простым способом было использовать PhantomJS, по предложению Стефана.Я скачал бинарный файл и поместил фантомы в мой PATH, в моем случае (Mac OS) в / usr / bin /.Мне нравится сохранять возможность видеть, что происходит, поэтому я обернул это так (в Python):

def new_driver():
    if 'VISIBLE_WEBDRIVER' in os.environ:
        return webdriver.Firefox()
    else:
        return webdriver.PhantomJS()

Ссылки:http://blog.likewise.org/2013/04/webdriver-testing-with-python-and-ghostdriver/
http://www.realpython.com/blog/python/headless-selenium-testing-with-python-and-phantomjs/

1 голос
/ 31 июля 2012

Java

У меня была похожая проблема с ChromeDriver (мне нужно было свернуть окно браузера во время выполнения тестов). Я не мог найти лучшего способа сделать это, поэтому я использовал комбинацию клавиш Alt + Space, N, чтобы сделать это. Это должно работать только в Windows, в примере используется класс Java AWT Robot для воспроизведения сочетаний клавиш:

//Alt + Space to open the window menu
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_SPACE);
robot.keyRelease(KeyEvent.VK_SPACE);
robot.keyRelease(KeyEvent.VK_ALT);
Thread.sleep(200);

// miNimize
robot.keyPress(KeyEvent.VK_N);
robot.keyRelease(KeyEvent.VK_N);
0 голосов
/ 07 февраля 2019

в параметрах (параметры Firefox, параметры chrome)

установите для логического значения без заголовка значение true, вызвав метод set_headless.

0 голосов
/ 13 ноября 2016

В Java вы можете использовать HtmlUnitDriver для запуска сеанса браузера без монитора, который фактически не откроет браузер.

Добавьте следующую зависимость в ваш файл pom.xml (или загрузите и сослайтесь на следующее):

<dependency>
    <groupId>net.sourceforge.htmlunit</groupId>
    <artifactId>htmlunit</artifactId>
    <version>2.15</version>
</dependency>

... и протестируйте его, как если бы вы работали с экземпляром драйвера WebDriver:

 driver = new HtmlUnitDriver();
 driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
 driver.get("http://www.google.com");
 // etc..
 driver.quit();

Еще один похожий вопрос в SO: Не открывайте браузер на удаленном сервере во время вызова Selen

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...