Значит, драйвер марионетки должен поддерживать функцию, недоступную в geckodriver?

с я изучаю Selenium и столкнулся с проблемой.

Мне известно, что Selenium по умолчанию поддерживает старую версию Firefox без драйвера. А для последних версий Firefox мы должны скачать драйвер и определить его, используяSystem.setProperty.

Согласно этомуссылка на сайтдля Firefox 45 и 46 код запуска драйвера может выглядеть следующим образом:

WebDriver driver = new FirefoxDriver();

Мой Firefox - версия 45.5.1., Но приведенный выше код все равно не будет работать. Итак, согласно этомуссылка на сайт, Я добавил:

System.setProperty("webdriver.firefox.marionette","C:\\geckodriver.exe");

И это сработало.

Тогда я понял, что я не установилgeckodriver.exe на моем компьютере. Чтобы увидеть, как это происходит, я изменил код ниже:

System.setProperty("webdriver.firefox.marionette","");

Это все еще работает.

Итак, вот моя первая проблема: что случилось? Я уверен что нетgeckodriver.exe существует в моей среде. Если ни одно местоположение не было указано, то почему я должен установить свойство?

Кроме того, я видел такой код:

System.setProperty("webdriver.gecko.driver", "/tools/marionette/wires.exe");

Мой второй вопрос: в чем разница междуwebdriver.gecko.driver а такжеwebdriver.firefox.marionette или жеwires.exeа такжеgeckodriver.exe?

Ответы на вопрос(3)

Ваш ответ на вопрос