Сейчас я изучаю 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
?