获取GDK_BACKEND与debian中的可用显示错误不匹配

时间:2016-11-24 14:50:08

标签: java firefox selenium-webdriver debian headless-browser

实际上我试图通过selenium在远程debian服务器上运行无头浏览器。我在服务器上安装了firefox 46.0.1,我使用的是selenium 2.53.1版本。

每当我尝试运行给定的测试时,我都会收到以下错误。

org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port 7055; process output follows: 
Error: GDK_BACKEND does not match available displays

我在我的代码中实例化了firefox驱动程序,如下所示:

saDriver = new FirefoxDriver();

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

我不熟悉Java。但是在Python中,这个问题可以通过以下方法解决,这可能对您有所帮助

如果显示错误:GDK_BACKEND与可用显示不匹配,请安装pyvirtualdisplay:

Gender

您可能也需要xvfb:

pip install pyvirtualdisplay selenium

然后尝试添加此代码:

sudo apt-get install xvfb

完整示例:

from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()

答案 1 :(得分:0)

您需要在运行selenium服务器的shell中导出显示,否则将无法打开浏览器。

nohup sudo Xvfb: 10 - ac &
export DISPLAY=10