我遇到了问题。我有一个应该在linux服务器上运行的应用程序,而不是GUI我想让它运行无头。在我的本地机器上一切正常,但在服务器上我有一个问题,我不知道为什么,昨天它工作,但目前我收到此错误:
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)
预先启动应用程序我运行以下命令:
Xvfb :40 &
Xvfb :40 -screen 0 1024x768x24 -extension RANDR &
export DISPLAY=:40
但现在不用担心了,你能帮助问题吗?
这就是我运行网络驱动程序的方式:
System.setProperty("webdriver.chrome.driver", "/home/chrome/chromedriver");
WebDriver driver = new ChromeDriver();
driver.manage().timeouts().pageLoadTimeout(TIMEOUT, TimeUnit.MINUTES);
答案 0 :(得分:3)
首先,您需要使用xvfb-run
命令启动selenium服务器。首先在终端中执行以下命令,然后开始执行脚本。
xvfb-run java -jar selenium-server-standalone-2.53.jar
答案 1 :(得分:1)
我发现当我以这种方式运行我的应用程序时不需要selenium驱动程序:
xvfb-run -a java -jar my_jar.jar
它有效!