实际上,我正在尝试通过 selenium 在远程 debian 服务器中运行 headless 浏览器。我在服务器上安装了 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();
谁能帮忙?
最佳答案
我不熟悉 Java。然而在 Python 中这个问题可以通过以下方法解决,这可能对你有帮助
如果显示错误:GDK_BACKEND 与可用显示器不匹配,则安装 pyvirtualdisplay:
pip install pyvirtualdisplay selenium
您可能还需要 xvfb:
sudo apt-get install xvfb
然后尝试添加这段代码:
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
完整示例:
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Firefox()
browser.get('http://www.python.org')
browser.close()
display.stop()
关于java - 获取 GDK_BACKEND 与 debian 中的可用显示错误不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40789338/