En fait, j'essaie de lancer un navigateur sans tête dans un serveur Debian distant via Selenium. J'ai firefox 46.0.1 installé sur le serveur et j'utilise la version de Selenium 2.53.1.
Chaque fois que j'ai essayé d'exécuter un test donné, j'ai l'erreur suivante.
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
J'ai instancié le pilote firefox dans mon code comme ceci:
saDriver = new FirefoxDriver();
quelqu'un peut-il aider?
Je ne suis pas familier avec Java. Cependant, en Python, ce problème peut être résolu par la méthode suivante, cela peut vous aider
S'il indique Erreur: GDK_BACKEND ne correspond pas aux écrans disponibles, installez pyvirtualdisplay:
pip install pyvirtualdisplay Selenium
Vous pourriez aussi avoir besoin de xvfb:
Sudo apt-get install xvfb
Ensuite, essayez d'ajouter ce code:
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
Exemple complet:
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()
Vous devez exporter l'affichage dans le shell dans lequel le serveur Selenium est exécuté, sinon le navigateur ne pourra pas être ouvert.
Nohup Sudo Xvfb: 10 - ac &
export DISPLAY=10