Stack Overflow на русском Asked by JavaDev on December 2, 2021
Java selenium ChromeDriver метод setExperimentalOption не работает
Вознаграждение 10$, тому кто первый и точно подскажет в чем проблема
Есть простой код, посмотреть/скачать можно на Git https://github.com/a040985/chromeDriverError
Когда его запускаю в idea всё работает норм.
Но когда запускаю скомпилированный .jar файл через .bat файл, выдает ошибку "NoSuchMethodError:"
Ошибка указывает на метод «options.setExperimentalOption("prefs", prefs);», но почему программа не видит этот метод непонятно.
Если убрать этот метод, то всё работает норм, но убрать я его не могу т.к. мне нужно указать путь для сохранения файла.
package by.bestproger.project.downloadprice.runner;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import java.util.HashMap;
import java.util.Map;
public class RunApp {
final public static String pathDefault = "D:\java\myProject\downloadprice\";
final public static String downloadPathDefault = pathDefault + "externalFiles\downloadFiles\";
final public static String pathGoogleDriver = pathDefault + "externalFiles\exe\chromedriver.exe";
public static ChromeDriver driver;
public static void main(String[] args) {
chromeDriver();
driver.quit();
}
public static void chromeDriver() {
System.setProperty("webdriver.chrome.driver", pathGoogleDriver);
Map<String, Object> prefs = new HashMap<>();
prefs.put("download.default_directory", downloadPathDefault);
ChromeOptions options = new ChromeOptions();
//если этот метод закомментить, то всё работает норм,
// но этот метод нужен для установки пити загрузки файла
options.setExperimentalOption("prefs", prefs);
driver = new ChromeDriver(options);
driver.get("https://www.google.com/");
driver.get("https://www.tut.by/");
}
}
РЕШЕНИЕ
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0<groupId>by.bestproger.project</groupId> <artifactId>downloadprice</artifactId> <version>1.0-SNAPSHOT</version> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>8</source> <target>8</target> </configuration> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <groupId>org.apache.maven.plugins</groupId> <version>3.2.0</version> <executions> <execution> <id>make-executable-jar-with-dependencies</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <archive> <manifest> <mainClass>by.bestproger.project.downloadprice.runner.RunApp</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </execution> </executions> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> </dependency> <dependency> <groupId>net.lingala.zip4j</groupId> <artifactId>zip4j</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-io</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>com.github.junrar</groupId> <artifactId>junrar</artifactId> <version>4.0.0</version> </dependency> </dependencies>
Answered by JavaDev on December 2, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP