Мне нужно использовать FF31esr с селеном / питоном в Debian. Когда я все делаю с FF60esr - все работает, но когда я переключаюсь на FF31esr, я получаю эту ошибку:
selenium.common.exceptions.SessionNotCreatedException: Сообщение: Невозможно найти соответствующий набор возможностей
Я использую Debian9 linux, последние версии Selenium и Geckodriver, Python3.5 Firefox 60.7.0esr по умолчанию установлен на debian, я скачал и распаковал Firefox31.8.0 to /opt/firefox-31.8.0esr/
Итак, этот код работает нормально (запускается FF60esr)
from selenium import webdriver
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
driver = webdriver.Firefox()
driver.get('http://google.com')
print(driver.title)
driver.quit()
display.stop()
Но когда я выполняю этот код:
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
binary = FirefoxBinary('/opt/firefox-31.8.0esr/firefox')
driver = webdriver.Firefox(firefox_binary=binary)
тогда я получил:
selenium.common.exceptions.SessionNotCreatedException: Сообщение: невозможно найти соответствующий набор возможностей
Я нашел здесь в StackOverflowрешение с использованием DesiredCapabilities - cap["marionette"] = False
- но оно не работает для меня, я делаю:
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
cap = DesiredCapabilities().FIREFOX
cap["marionette"] = False
binary = FirefoxBinary('/opt/firefox-31.8.0esr/firefox')
browser = webdriver.Firefox(capabilities=cap, firefox_binary=binary)
и получил еще одну ошибку :
selenium.common.exceptions.WebDriverException: Сообщение. Похоже, что браузер завершил работу, прежде чем мы смогли подключиться.Если вы указали log_file в конструкторе FirefoxBinary, проверьте его для получения подробной информации.