Как автоматически закрыть вкладку firebug при запуске веб-драйвера selenium firefox с firebug?

Я включил firebug при запуске драйвера firefox, и он отлично работает с последним веб-драйвером selenium 3.0, но в то же время он также открывает новую вкладку firebug каждый раз при запуске браузера.

Как говорит код, я включил файл firebug и добавил это расширение в созданный профиль. Есть ли способ автоматически закрыть вкладку firebug после запуска браузера? Если нет автоматического способа, мне нужно использовать настройку, чтобы закрыть окно с именем «Firebug», верно?

Код:

File file = new File("./firebug-2.0.17-fx.xpi");
System.setProperty("webdriver.gecko.driver", config.getStringProperty("geckodriver.path"));
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
FirefoxProfile profile = new FirefoxProfile();
profile.addExtension(file);
capabilities.setCapability(FirefoxDriver.PROFILE, profile);
capabilities.setCapability("marionette", true);
webDriver = new FirefoxDriver(capabilities);

введите здесь описание изображения


person Jitesh Sojitra    schedule 19.09.2016    source источник
comment
Вы пробовали stackoverflow.com/questions/11449179/?   -  person lauda    schedule 19.09.2016
comment
Я уже добавил в начальный комментарий, что ищу автоматическое решение, но в любом случае нужно обрабатывать только через открытые окна :) Публикация ответа...   -  person Jitesh Sojitra    schedule 19.09.2016


Ответы (2)


Вы можете установить флаг "showFirstRunPage" в "false" в вашем porfile.

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("extensions.firebug.showFirstRunPage", false);

Вот ссылка на все настройки firebug, которые вы можете установить. Настройки Firebug

Другим решением является установка «currentVersion» на большое число, подобное этому.

profile.setPreference("extensions.firebug.currentVersion", "999");

Я предпочитаю первый на ;)

person Crow    schedule 06.10.2016
comment
Довольно круто! Пожалуйста, примите и этот вопрос. - person Jitesh Sojitra; 08.10.2016

Я искал автоматическое закрытие окна Firebug, но я думаю, что это невозможно, поэтому публикую ответ для обработки открытых окон после запуска браузера firebox с возможностями firebug, к сожалению, из-за этой проблемы вам нужно иметь дело с дополнительными строками кода :)

Ниже решение работает нормально, просто используйте его, как показано ниже:

Рабочий код:

File file = new File("./firebug-2.0.17-fx.xpi");
System.setProperty("webdriver.gecko.driver", config.getStringProperty("geckodriver.path"));
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
FirefoxProfile profile = new FirefoxProfile();
profile.addExtension(file);
capabilities.setCapability(FirefoxDriver.PROFILE, profile);
capabilities.setCapability("marionette", true);
webDriver = new FirefoxDriver(capabilities);

// Close the firebug window
Thread.sleep(4000); // Firebug window takes time to open it
Set <String> windows = webDriver.getWindowHandles();
String mainwindow = webDriver.getWindowHandle();

for (String handle: windows) {
    webDriver.switchTo().window(handle);
    if (!handle.equals(mainwindow)) {
        webDriver.close();
    }
}
webDriver.switchTo().window(mainwindow);
person Jitesh Sojitra    schedule 19.09.2016