Every time I ran my .jar, which is on the server. I was getting an error. When I run the application on Windows, everything works.
org.openqa.selenium.WebDriverException: invalid argument: can't kill an exited process Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'autoru', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-70-generic', java.version: '1.8.0_222' Driver info: driver.version: FirefoxDriver remote stacktrace: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$errorHandler$0(W3CHandshakeResponse.java:62) at org.openqa.selenium.remote.HandshakeResponse.lambda$getResponseFunction$0(HandshakeResponse.java:30) at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:126) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531) at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:128) at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:74) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136) at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213) at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:147) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:125) at com.company.bot.Test.Test.connect(Test.java:24) at com.company.bot.bot.Parsing.ParsinTop.start(ParsinTop.java:44) at com.company.bot.bot.Parsing.ParsinTop.run(ParsinTop.java:24) at java.lang.Thread.run(Thread.java:748)
Code
public class Test {
public String connect(String url) {
DataBase dataBase = new DataBase();
dataBase.connect();
String result = "";
try {
System.setProperty("webdriver.gecko.driver", "/usr/bin/geckodriver");
WebDriver driver = new FirefoxDriver();
//url = url.replace("https://auto.ru/cars/", "https://auto.ru/moskva/cars/");
driver.get(url);
System.out.println("Connect to " + url);
driver.findElements(By.xpath("//div[@class='button button_blue']")).get(0).click();
System.out.println("After accept");
try {
Thread.sleep(10000);
driver.findElements(By.xpath("//div[@class='CardPhone-module__phone OfferNewStickedBlock-module__contacts CardPhone-module__preview']")).get(0).click();
System.out.println("Click contack");
} catch (Exception e){
driver.quit();
connect(url);
e.printStackTrace();
}
while(result.equals("") || result.equals(" ")) {
Document document = Jsoup.parse(driver.getPageSource());
Elements elements = document.getElementsByClass("CardGroupListingItem-module__footerCell_left");
Element el = elements.get(0).getElementsByClass("Link CardDealerName-module__dealerName").get(0);
result = el.attr("href");
}
driver.quit();
} catch(Exception ex){
ex.printStackTrace();
}
return result;
}
}
After these errors, a lot of geckodriver starts. And
driver.quit();
doesn't kill geckodriver process. How can this be fixed?