Я использую Selenium 3.0.01 бета-версию и Mozilla 45. Я тоже пробовал с Mozilla 47. но все то же самое.
Переведено автоматически
Ответ 1
Selenium Клиентские привязки попытаются найти geckodriver исполняемый файл из системы PATH. Вам нужно будет добавить каталог, содержащий исполняемый файл, в системный путь.
В системах Unix вы можете сделать следующее, чтобы добавить его в путь поиска вашей системы, если вы используете оболочку, совместимую с bash:
export PATH=$PATH:/path/to/geckodriver
В Windows вам необходимо обновить системную переменную Path, чтобы добавить полный путь к каталогу исполняемого файла. Принцип тот же, что и в Unix.
Вся приведенная ниже конфигурация для запуска последней версии firefox с использованием привязки к любому языку программирования применима для Selenium2 явного включения Marionette. С Selenium 3.0 и более поздних версий вам не нужно ничего делать, чтобы использовать Marionette, поскольку он включен по умолчанию.
Чтобы использовать Marionette в ваших тестах, вам нужно будет обновить желаемые возможности для его использования.
Java :
Поскольку в exception четко указано, что вам нужно загрузить последнюю версию geckodriver.exe из здесь и указать загруженный geckodriver.exe путь, где он существует на вашем компьютере, в качестве системного свойства с переменной webdriver.gecko.driver перед запуском драйвера marionette и firefox, как показано ниже :-
//if you didn't update the Path system variable to add the full directory path to the executable as above mentioned then doing this directly through code System.setProperty("webdriver.gecko.driver", "path/to/geckodriver.exe");
//Now you can Initialize marionette driver to launch firefox DesiredCapabilitiescapabilities= DesiredCapabilities.firefox(); capabilities.setCapability("marionette", true); WebDriverdriver=newMarionetteDriver(capabilities);
from selenium import webdriver from selenium.webdriver.common.desired_capabilities importDesiredCapabilities
caps= DesiredCapabilities.FIREFOX
# Tell the Python bindings to use Marionette. # This will not be necessary in the future, # when Selenium will auto-detect what remote end # it is talking to. caps["marionette"] = True
# Path to Firefox DevEdition or Nightly. # Firefox 47 (stable) is currently not supported, # and may give you a suboptimal experience. # # On Mac OS you must point to the binary executable # inside the application package, such as # /Applications/FirefoxNightly.app/Contents/MacOS/firefox-bin caps["binary"] = "/usr/bin/firefox"
driver = webdriver.Firefox(capabilities=caps)
Ruby :
# Selenium 3 uses Marionette by default when firefox is specified # Set Marionette in Selenium 2 by directly passing marionette: true # You might need to specify an alternate path for the desired version of Firefox
// Tell the Node.js bindings to use Marionette. // This will not be necessary in the future, // when Selenium will auto-detect what remote end // it is talking to. capabilities.set('marionette', true);
Если вы хотите использовать RemoteWebDriver на любом языке, это позволит вам использовать Marionette в Selenium Grid.
Python:
caps = DesiredCapabilities.FIREFOX
# Tell the Python bindings to use Marionette. # This will not be necessary in the future, # when Selenium will auto-detect what remote end # it is talking to. caps["marionette"] = True
driver= webdriver.Firefox(capabilities=caps)
Ruby :
# Selenium 3 uses Marionette by default when firefox is specified # Set Marionette in Selenium 2 by using the Capabilities class # You might need to specify an alternate path for the desired version of Firefox
// Tell the Java bindings to use Marionette. // This will not be necessary in the future, // when Selenium will auto-detect what remote end // it is talking to. capabilities.setCapability("marionette", true);
// Tell the .NET bindings to use Marionette. // This will not be necessary in the future, // when Selenium will auto-detect what remote end // it is talking to. capabilities.SetCapability("marionette", true);
vardriver=newRemoteWebDriver(capabilities);
Примечание : Как и другие драйверы, доступные для Selenium от других производителей браузеров, Mozilla выпустила исполняемый файл, который будет запускаться вместе с браузером. Следуйте этому для получения более подробной информации.