Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 10.08.2014
Сообщений: 97

Java selenium ChromeDriver метод setExperimentalOption не работает

22.07.2020, 15:44. Показов 1903. Ответов 12

Студворк — интернет-сервис помощи студентам
Java selenium ChromeDriver метод setExperimentalOption не работает

Вознаграждение 10$, тому кто первый и точно подскажет в чем проблема

Есть простой код, посмотреть/скачать можно на Git https://github.com/a040985/chromeDriverError
Когда его запускаю в idea всё работает норм.
Но когда запускаю скомпилированный .jar файл через .bat файл, выдает ошибку "NoSuchMethodError:"

Ошибка указывает на метод «options.setExperimentalOption("prefs", prefs);», но почему программа не видит этот метод непонятно.
Если убрать этот метод, то всё работает норм, но убрать я его не могу т.к. мне нужно указать путь для сохранения файла.


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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/");
 
    }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.07.2020, 15:44
Ответы с готовыми решениями:

ChromeDriver метод setExperimentalOption не работает
ChromeDriver метод setExperimentalOption не работает Есть простой код, посмотреть/скачать можно на Git ...

Unknown error: Chrome failed to start: exited abnormally ChromeDriver Selenium Java
Пытаюсь запустить `ChromeDriver` на `Ubuntu 16.04`. На винде всё ок. Код код: ...

Java-Selenium-ChromeDriver
Сори если уж слишком туповатый вопрос но не могу не нагуглить не на форуме отыскать! как установить порт ChromeDriver при запуске он...

12
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.07.2020, 17:10
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.1.1</version>
 
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>com.xoraxax.App</mainClass>
                        </manifest>
                    </archive>
                </configuration>
 
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
0
1 / 1 / 0
Регистрация: 10.08.2014
Сообщений: 97
22.07.2020, 17:52  [ТС]
xoraxax, Добавил плагин, ничего не изменилось

Добавлено через 1 минуту
xoraxax, <mainClass>com.xoraxax.App</mainClass> заменил на свой, так же ничего не поменялось.
Может еще что-то надо изменить?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.07.2020, 18:23
Ну у меня нет никаких ошибок, я хз как ты его запускаешь
0
1 / 1 / 0
Регистрация: 10.08.2014
Сообщений: 97
22.07.2020, 18:31  [ТС]
xoraxax,
Ошибка prntscr(точка)com/tmo56r
когда запускаю через .bat файл prntscr(точка)com/tmo6ft

Вы через .bat файл запускаете?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.07.2020, 18:56
Сюда выкладывай
0
1 / 1 / 0
Регистрация: 10.08.2014
Сообщений: 97
22.07.2020, 21:34  [ТС]
xoraxax, прикрепил файлы
Миниатюры
Java selenium ChromeDriver метод setExperimentalOption не работает   Java selenium ChromeDriver метод setExperimentalOption не работает  
Вложения
Тип файла: rar downloadprice.rar (21.12 Мб, 0 просмотров)
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.07.2020, 22:16
Чо за MyChromeDriver?
0
1 / 1 / 0
Регистрация: 10.08.2014
Сообщений: 97
22.07.2020, 22:46  [ТС]
xoraxax, Это был скрин с полной версии программы. Сча прикрепил скрин с тестовой версии
Миниатюры
Java selenium ChromeDriver метод setExperimentalOption не работает  
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.07.2020, 22:57
Ну если в идее нормально, а в консоли нет. То вероятно в идее и в консоли у тебя разная java, например. Ну и я не вижу, что ты запускаешь jar, который получается в результате работы плагина, который я тебе дал
0
1 / 1 / 0
Регистрация: 10.08.2014
Сообщений: 97
22.07.2020, 23:21  [ТС]
xoraxax,
Вроде всё правильно делаю и файл формируется свежий, может удаленно подключитесь к моему компу и гляните?
0
Модератор
Эксперт Java
 Аватар для alecss131
2854 / 1361 / 406
Регистрация: 11.08.2017
Сообщений: 4,342
Записей в блоге: 2
23.07.2020, 00:15
Лучший ответ Сообщение было отмечено 040985 как решение

Решение

040985, изменил файл pom на
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?xml version="1.0" encoding="UTF-8"?>
<project 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">
    <modelVersion>4.0.0</modelVersion>
 
    <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>
 
</project>
собрал через mvn package из корневой папки проекта (там где pom.xml) и двойной клик по target/downloadprice-1.0-SNAPSHOT-jar-with-dependencies.jar открывает окно хрома а потом закрывает
да и ваш джарник весит 20мб а этот всего 9мб

Добавлено через 2 минуты
ошибок при запуске нету, ide не использовал, в коде поменял только путь до ехе
1
1 / 1 / 0
Регистрация: 10.08.2014
Сообщений: 97
23.07.2020, 00:44  [ТС]
alecss131, Спасибо друг!
Какой номер карты или яндекс деньги или киви чтоб отблагодарить?

И поясни пож-та почему так получается, что через idea и через консоль разные файлы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.07.2020, 00:44
Помогаю со студенческими работами здесь

Работа с Selenium и ChromeDriver
Собственно скачал через Проект-&gt;управление пакетами Selenium.WebDriver и Selenium.WebDriver.ChromeDriver, однако работать с ним никак не...

Proxy с авторизацией Selenium (ChromeDriver)
Добрый день. Подскажите, как можно завести прокси с авторизацией на Selenium ? Пробовал так: ...

Selenium chromedriver выдает критическую ошибку в headless режиме
Без headless все работает без ошибок. Как только добавлю --headless, вылетает критическая ошибка: Exception in thread Thread0: ...

Java ChromeDriver не запускается из консоли NoSuchMethodError
Java ChromeDriver не запускается из консоли NoSuchMethodError Есть простой код, который запускается в intellij idea, но не запускается...

Не работает метод в моем проекте java
Сижу над проектом Змейка Имеется мэйн класс и класс геймплэй(код снизу) В Мэйне нет ничего необычного, там я задал параметры окна ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru