通过 Selenium 执行无头 Firefox 时出错

gol*_*que 7 ubuntu headless firefox x11 selenium

我正在尝试通过 SSH 通过 Selenium 在远程机器(运行 Ubuntu 16.04)上执行无头 Firefox。但是,这给了我一个“错误:GDK_BACKEND 与可用显示不匹配”的错误。我的主机运行 Windows。我不想看到图形输出。它只是用于硒测试。

我使用 X Virtual Frame Buffer 作为虚拟驱动程序:

Xvfb :10 -screen 0 1024x768x16 &
Run Code Online (Sandbox Code Playgroud)

对于这种特定情况,我还导出了值为 10 的 DISPLAY 环境变量。

我哪里错了?

编辑:当我在运行 xvbf 后通过 SSH 在我的命令行中简单地运行“sudo firefox”时,不会抛出任何错误。只有在通过 selenium 运行 Firefox 时才会抛出错误。

更多细节:-

我正在通过 selenium 调用 firefox。selenium 独立服务器给出的确切错误是:-

17:52:55.218 INFO - Executing: [new session: Capabilities     [{browserName=firefox, platform=ANY,     firefox_profile=UEsDBBQAAAAAAJuOD0nf9RXUMgAAA...}]])
17:52:55.230 INFO - Creating a new session for Capabilities   [{browserName=firefox, platform=ANY, firefox_profile=UEsDBBQAAAAAAJuOD0nf9RXUMgAAA...}]
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host     127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Error: GDK_BACKEND does not match available displays
Run Code Online (Sandbox Code Playgroud)

gol*_*que 2

显然这是由于 Firefox 48 和 Selenium 之间不兼容造成的(selenium 扩展在 Firefox 48 中未签名,而 Firefox 48 只运行签名的扩展)。我只使用 Chrome,因为我的用例并不是特定于浏览器的。