Я хотел бы открыть несколько экземпляров Firefox с помощью Selenium в Python и запустить их параллельно. После обновления до Firefox 47.0 кажется, что теперь мы должны использовать Marionette WebDriver для Firefox+Selenium. До использования Marionette я мог легко создавать новые экземпляры Firefox из Python/Selenium, просто вызывая webdriver.Firefox()
несколько раз. Однако после переключения на Marionette работает только первый экземпляр. Если второй экземпляр открыт, я получаю следующую ошибку:
WebDriverException: Сообщение: не удалось декодировать ответ от марионетки
После выдачи ошибки этот экземпляр умирает, а последний вызываемый экземпляр продолжает жить. Оглядываясь вокруг, кажется, что проблема заключается в портах, которые использует Marionette, где новые экземпляры продолжают пытаться подключиться к тому же порту, который использовал исходный. Я видел, что есть способ изменить порты, используемые через prefs.js и создание отдельных профилей. Однако мне было интересно, есть ли способ сделать это полностью из Python (аналогично этому пример Java).
Любая помощь будет оценена по достоинству!