Как закрыть браузер Firefox в селене 3.0.1

Firefox: 50.0.1, GeckoDriver: 13, селен 3.01, IDE: Eclipse, язык программирования: Java

Используя приведенный ниже код:

System.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe); 
WebDriver driver = new FirefoxDriver();
driver.get("https://www.youtube.com/");
driver.close(); Or driver.quit()

В driver.close() браузер не закрывается. В driver.quite() браузер закрывается, и Firefox аварийно завершает работу. Получение ошибки: «Плагин-контейнер для FireFox перестал работать».

Пожалуйста, дайте мне знать любое решение




Ответы (4)


Шаги, которые вы можете попробовать:

  1. Удалите все плагины в браузере Firefox.
  2. Используйте 64-битную версию geckodriver для 64-битного Firefox, аналогично 32-битный geckodriver для 32-битного Firefox.

Я попробовал код в той же среде, и driver.quit у меня сработало. driver.close по-прежнему не закрывает браузер.

person Naveen Kumar R B    schedule 10.01.2017
comment
когда вы использовали driver.quite, не выдавало ли это какую-либо ошибку, поскольку «Firefox перестал работать - person Shilpa; 10.01.2017
comment
Да, нормально закрылся и не разбился. - person Naveen Kumar R B; 10.01.2017
comment
Вы удалили все плагины в браузере Firefox ..? - person Shilpa; 10.01.2017
comment
Нет. Отключил все. Во-первых, попробуйте с отключением. Возможно, один из плагинов вызывает проблему, если не все. - person Naveen Kumar R B; 10.01.2017
comment
при удаче? сделайте перезагрузку системы и попробуйте один раз. Не спрашивайте меня о логике. иногда это работает как по волшебству. - person Naveen Kumar R B; 10.01.2017

Вы всегда должны использовать driver.quit(), когда хотите закрыть браузер, а не только одну вкладку.

Это исключение, которое вы получаете, к сожалению, является известной проблемой при выходе из экземпляра geckodriver firefox, подробности см. по этим ссылкам.

https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/7506 https://bugzilla.mozilla.org/show_bug.cgi?id=1027222

person acikojevic    schedule 10.01.2017

Вы можете создать новый профиль Firefox. Шаги можно найти здесь!

В вашем коде используйте этот новый созданный профиль.

WebDriver webdriver;
ProfilesIni profile = new ProfilesIni();
FirefoxProfile myprofile = profile.getProfile("myProfileName");
webdriver = new FirefoxDriver(myprofile);

Теперь webdriver.quit(); закроет браузер Firefox после запуска теста.

person Anand    schedule 13.10.2017

Кажется, это проблема с geckodriver.

Обходной путь, который сработал для меня, состоял в том, чтобы установить более старую версию geckodriver, 0.20.1, которую вы можете скачать здесь: https://github.com/mozilla/geckodriver/releases/tag/v0.20.1

person RubenD    schedule 30.08.2018