/ / Nemôžem spustiť chrómový vodič cez selén v bezhlavom režime - google-chrome, selén, selén-webdriver, selén-chromedriver

Chromový ovládač nie je možné spustiť pomocou selénu v bezhlavnom režime - google-chrome, selen, selen-webdriver, selenium-chromedriver

Mám problém. Mám aplikáciu, ktorá by mala bežať na linux server, kde nie je GUI chcem spustiť bezhlavý. Na mojom lokálnom počítači všetko funguje dobre, ale na serveri mám problém a ja neviem prečo, včera to fungovalo, ale v súčasnosti som túto chybu nedostal:

org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally
(Driver info: chromedriver=2.25.426924 (649f9b868f6783ec9de71c123212b908bf3b232e),platform=Linux 4.4.0-47-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.07 seconds
Build info: version: "unknown", revision: "unknown", time: "unknown"
System info: host: "vps334949", ip: "92.222.74.219", os.name: "Linux", os.arch: "amd64", os.version: "4.4.0-47-generic", java.version: "1.8.0_111"
Driver info: org.openqa.selenium.chrome.ChromeDriver
at sun.reflect.GeneratedConstructorAccessor54.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:159)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:116)

Pred spustením aplikácie spustím tieto príkazy:

Xvfb :40 &
Xvfb :40 -screen 0 1024x768x24 -extension RANDR &
export DISPLAY=:40

Ale teraz nie je horšie, mohli by ste mi prosím pomôcť somene, kde by mal byť problém?

Takto spustím webový ovládač:

System.setProperty("webdriver.chrome.driver", "/home/chrome/chromedriver");
WebDriver driver = new ChromeDriver();
driver.manage().timeouts().pageLoadTimeout(TIMEOUT, TimeUnit.MINUTES);

odpovede:

3 pre odpoveď č. 1

Najprv musíte spustiť server selenium pomocou xvfb-run Príkaz. Najprv vykonajte nasledujúci príkaz v termináli a potom spustite vykonávanie skriptov.

xvfb-run java -jar selenium-server-standalone-2.53.jar

1 pre odpoveď č. 2

Zistil som, že ovládač selénu nie je potrebný, keď túto aplikáciu spustím takto:

xvfb-run -a java -jar my_jar.jar

funguje to!