Selenium 3.0.1 аварийно завершает работу FireFox 51.0.1 во время driver.quit () @ Win 7 Home Premium и GeckoDriver 0.13.0

Win 7 и FireFox работают на немецком языке.
В Win 7 установлены все доступные обновления.

То же самое для 32- и 64-битного GeckoDriver! (моя Win 7 - 64-разрядная версия; мой FireFox - 32-разрядная версия).

То же самое для GeckoDriver 0.14.

Это проблема только на моем ПК?

driver.quit() работает с моим InternetExplorer без проблем.

package JS_JFrame1;                                       

import org.openqa.selenium.WebDriver;                     
import org.openqa.selenium.firefox.FirefoxDriver;        

public class SeleniumFireFoxMinimal1 {  



public static void main(String[] args) throws InterruptedException {

    System.setProperty("webdriver.gecko.driver", "e:\\geckodriver.exe");

    WebDriver driver = new FirefoxDriver();                 

    driver.get("http://www.toolsqa.com");                    

    Thread.sleep(5000);                                   

    driver.quit();                                        

}                                                            

}                                                                    

Другие команды селена, подобные этим, работают отлично:

    element = driver.findElement(By.id("sinp"));              

    System.out.println( "Element found!");                   

    element.clear();                                                

    element.sendKeys("black");                                      

    element.submit();                                                       

Вывод консоли Eclipse:

1485978825934 geckodriver ИНФОРМАЦИЯ Прослушивание 127.0.0.1:21352 1 февраля 2017 г. 20:53:46 org.openqa.selenium.remote.ProtocolHandshake createSession ИНФОРМАЦИЯ: попытка двудиалектного сеанса при условии, что закон Постела выполняется на удаленном конце 1485978826606 mozprofile: : profile INFO Использование пути к профилю C: \ Users \ xxxxxxx \ AppData \ Local \ Temp \ rust_mozprofile.qNYZq4KKbeGl 1485978826606 geckodriver :: marionette INFO Запуск браузера C: \ Program Files (x86) \ Mozilla Firefox \ firefox.exe 1485978826637 geckodriver :: marionetteriver :: marionette ИНФОРМАЦИЯ Подключение к Marionette на локальном хосте: 51926 1485978828021 Marionette INFO Прослушивание порта 51926 1 февраля 2017 г. 20:53:52 org.openqa.selenium.remote.ProtocolHandshake createSession ИНФОРМАЦИЯ: Обнаруженный диалект: Предупреждение JavaScript W3C: https://www.youtube.com/yts/jsbin/player-de_DE-vflWB2cvt/base.js, строка 664: ошибка: WebGL: getParameter : параметр: недопустимое значение перечисления [Дочерний 4416] ### !!! ABORT: прерывание при ошибке канала .: файл c: /builds/moz2_slave/m-rel-w32-00000000000000000000/build/src/ipc/glue/MessageChannel.cpp, строка 2056 1 февраля 2017 г. 20:54:07 org. openqa.selenium.os.UnixProcess destroy SCHWERWIEGEND: невозможно убить процесс с PID 4608

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


person Joe Stoner    schedule 01.02.2017    source источник
comment
Вы пробовали запустить после перезагрузки компьютера?   -  person Jeroen Heier    schedule 01.02.2017
comment
Да, Джерун, 20 раз в 3 разных дня.   -  person Joe Stoner    schedule 01.02.2017
comment
используйте вместо этого firefox 50. Он должен работать   -  person mosaad    schedule 02.02.2017


Ответы (4)


установите browser.tabs.remote.autostart.2 на ложь.

FirefoxOptions options = new FirefoxOptions();
options.BrowserExecutableLocation = Settings.Default.FirefoxBinary;

>>>> profile.SetPreference("browser.tabs.remote.autostart.2", false);
FirefoxProfile profile = new FirefoxProfile();
....
options.Profile = profile;
driverSet.Driver = new FirefoxDriver(options);
person sho    schedule 17.02.2017
comment
У меня есть 2 таких автозапуска в about: config - одна с расширением 2 и одна без расширения. Теперь для обеих записей установлено значение false, но это ничего не изменило. FireFox все еще вылетает (конечно, я перезапустил FireFox). А как насчет остальных 6 строк кода? Нужны ли они мне и в моем Java-Selenium-snip? Спасибо. - person Joe Stoner; 19.02.2017

Проблема связана с тем, что firefox начал использовать многопроцессорную среду с версии firefox> = 50, и похоже, что селен не может с этим справиться.

Добавление следующих строк должно решить эту проблему:

FirefoxProfile ffProfile = new FirefoxProfile();
ffProfile.setPreference("browser.tabs.remote.autostart.2", false);
WebDriver driver = new FirefoxDriver(newFirefoxOptions().setProfile(ffProfile));
person kashif31    schedule 22.08.2017

Это известная проблема Firefox / geckodriver при выходе из драйвера. Дополнительные сведения см. здесь.

Он появляется в некоторых версиях FF, некоторые говорят, что это исправлено, некоторые говорят, что это не так. Я не смог найти лучшего решения для этого, поэтому я включил «старый» Firefoxdriver и FF v47.0.2, который отлично работает.

person acikojevic    schedule 01.02.2017

Я нашел обходной путь для этого. Мой код находится на С #

Utility.Instance.KillProcess("firefox");
System.Windows.Forms.SendKeys.SendWait("{ESC}");
Utility.Instance.KillProcess("geckodriverserver");

Надеюсь, это поможет вам.

person Kapil    schedule 16.08.2017