2016-11-24 98 views
4

其實我試圖通過硒在遠程debian服務器上運行無頭瀏覽器。我在服務器上安裝了firefox 46.0.1,我使用的是硒2.53.1版本。獲取GDK_BACKEND不匹配debian中的可用顯示錯誤

每當我嘗試運行給定的測試時,我得到以下錯誤。

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(); 

誰能幫助?

+0

http://stackoverflow.com/questions/6183276/how-do-i-run-selenium-in-xvfb – hyades

回答

0

我對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() 
+0

收到這個錯誤:'selenium.common.exceptions.WebDriverException :消息:'geckodriver'可執行文件需要在PATH' – CJ7

+0

硒找不到你的gecko驅動可執行文件。確保它位於usr/bin文件夾下...如果您正在運行ubuntu和可執行文件。 – sola

0

您需要導出顯示在硒服務器在運行shell否則將無法打開瀏覽器。運行上述示例代碼時

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