Selenium / Python-消息“无法找到匹配的功能集”与较旧版本的Firefox(31.8.0esr)

时间:2019-06-15 01:49:37

标签: python selenium firefox geckodriver

我需要在Debian上将FF31esr与selenium / python一起使用 使用FF60esr进行所有操作时-一切正常 但是当我切换到FF31esr时,出现此错误:

  

selenium.common.exceptions.SessionNotCreatedException:消息:找不到匹配的功能集

我使用Debian9 linux,最新版本的Selenium和Geckodriver,Python3.5 默认情况下,debian上安装了Firefox 60.7.0esr,我将Firefox 31.8.0下载并解压缩到/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:消息:找不到匹配的功能集

我在这里使用DesiredCapabilities-cap["marionette"] = False来支持StackOverflow决策,但是对我不起作用 我在做:

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:消息:浏览器似乎已经退出,无法连接。如果您在FirefoxBinary构造函数中指定了log_file,请检查它的详细信息。

0 个答案:

没有答案