Как закрыть браузер 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 все еще не закрывает браузер.

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

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

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

Это похоже на проблему с геккодривером.

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

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

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

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

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

Другие вопросы по тегам