Исключение в потоке «основной» java.lang.AbstractMethodError: класс приемника org.openqa.selenium.chrome.ChromeDriverSerJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Исключение в потоке «основной» java.lang.AbstractMethodError: класс приемника org.openqa.selenium.chrome.ChromeDriverSer

Сообщение Anonymous »

Я обнаружил ошибку при запуске файла класса.
Вот сообщение об ошибке:

Задача: компиляция Java АКТУАЛЬНО

Задача: АКТУАЛЬНОСТЬ ProcessResources

Задача: АКТУАЛЬНОСТЬ классов

Задача: CrawlingTest.main() ОШИБКА

3 выполняемых задачи: 1 выполнена, 2 обновлены

Исключение в потоке «main» java.lang.AbstractMethodError: Класс получателя org.openqa.selenium.chrome.ChromeDriverService$Builder не определяет и не наследует реализацию разрешенного метода «abstract java.io.File findDefaultExecutable()» абстрактного класса

org.openqa.selenium.remote.service.DriverService$Builder.
на org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:437)
на org.openqa. selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:138) в

org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:72)
at
Nawa3.Nawa3.service.CrawlingTest.getChromeDriver(CrawlingTest.java:40)
at Nawa3.Nawa3.service.CrawlingTest.main(CrawlingTest.java:47)

ОШИБКА: Сборка завершилась с ошибкой.
  • Что пошло не так:
    Не удалось выполнить задачу ':CrawlingTest.main( )'.
Команда процесса 'C:/Users/ASUS/.jdks/openjdk-17.0.2/bin /java.exe'' завершился с ненулевым значением выхода 1
  • Попробуйте:
Запустите с параметром --stacktrace, чтобы получить трассировку стека.
Запустите с параметром --info или --debug, чтобы получить больше результатов журнала.
Запустите --scan, чтобы получить полную информацию.
  • Получите дополнительную помощь по адресу https://help. gradle.org
    Ошибка сборки за 1 секунду
Я видел статью о проблеме с зависимостями и попробовал предложенные исправления, но проблема не устранена. .
Файл класса
Вот файл класса, который я использую:

Код: Выделить всё

package Nawa3.Nawa3.service;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

import java.time.Duration;
import java.util.ArrayList;
import java.util.List;

public class CrawlingTest {

private static WebDriver driver;
public static String WEB_DRIVER_ID = "webdriver.chrome.driver";
private static String WEB_DRIVER_PATH = "C:\\Users\\ASUS\\Downloads\\chromedriver-win64\\chromedriver-win64\\chromedriver.exe";

public static WebDriver getChromeDriver() {
if (System.getProperty("webdriver.chrome.driver") == null) {
System.setProperty("webdriver.chrome.driver", WEB_DRIVER_PATH);
}

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--remote-allow-origins=*");
chromeOptions.addArguments("--disable-web-security");
chromeOptions.addArguments("--disable-gpu");
chromeOptions.addArguments("--no-sandbox");
chromeOptions.addArguments("--disable-dev-shm-usage");
chromeOptions.addArguments("--disable-blink-features=AutomationControlled");
chromeOptions.addArguments("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36");
chromeOptions.addArguments("Accept-Language=ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7");
chromeOptions.addArguments("Accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7");

WebDriver driver = new ChromeDriver(chromeOptions);
driver.manage().timeouts().pageLoadTimeout(Duration.ofSeconds(30));
return driver;
}

public static void main(String[] args) {
WebDriver driver = getChromeDriver();

String url = "https://map.naver.com/p/search/%ED%99%8D%EB%8C%80%EC%9E%85%EA%B5%AC%EC%97%AD%EB%A7%9B%EC%A7%91?c=16.24,0,0,0,dh";
List webElementList = new ArrayList();
String query = "span.place_bluelink.TYaxT";
String iframeId = "searchIframe";

try {
driver.get(url);
Thread.sleep(5000);
driver.switchTo().frame(driver.findElement(By.id(iframeId)));
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
webElementList = driver.findElements(By.cssSelector(query));

for (WebElement element : webElementList) {
System.out.println(element.getText());
}

driver.switchTo().defaultContent();

System.out.println("Page title is: " + driver.getTitle());
System.out.println("Current URL: " + driver.getCurrentUrl());

} catch (Exception e) {
System.out.println("An error occurred: "  + e.getMessage());
} finally {
driver.quit();
}
}
}
build.gradle
Это мой файл build.gradle:

Код: Выделить всё

plugins {
id 'java'
id 'org.springframework.boot' version '3.0.2'
id 'io.spring.dependency-management' version '1.1.0'
}

group = 'Nawa3'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}

dependencies {
// Selenium dependency
implementation 'org.seleniumhq.selenium:selenium-java:4.21.0'
implementation 'org.seleniumhq.selenium:selenium-chrome-driver:4.21.0'

// MariaDB dependency
implementation 'org.mariadb.jdbc:mariadb-java-client:3.0.10'
implementation('org.modelmapper:modelmapper:2.4.2')
developmentOnly("org.springframework.boot:spring-boot-devtools")
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation group: 'org.jsoup', name: 'jsoup', version: '1.15.3'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
// JPA dependency

testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
testImplementation 'org.mockito:mockito-core:3.6.0'
testImplementation 'org.mockito:mockito-junit-jupiter:3.6.0'
}

tasks.named('test') {
useJUnitPlatform()
}
Сведения о среде
Операционная система: Windows 11 (64-разрядная версия)
Версия Java: OpenJDK 17.0.2
Версия Chrome: 125.0.6422.113 (официальная сборка) (64-разрядная версия)
ChromeDriver: версия 125.0 .6422.78 (загружается по этой ссылке)
Версия Selenium: 4.21.0
Описание проблемыЯ пытаюсь выполнить простой скрипт Selenium WebDriver с помощью ChromeDriver, но обнаруживаю следующую ошибку:

Код: Выделить всё

Exception in thread "main" java.lang.AbstractMethodError: Receiver class org.openqa.selenium.chrome.ChromeDriverService$Builder does not define or inherit an implementation of the resolved method 'abstract java.io.File findDefaultExecutable()' of abstract class org.openqa.selenium.remote.service.DriverService$Builder.
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:437)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:138)
at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:72)
at Nawa3.Nawa3.service.CrawlingTest.getChromeDriver(CrawlingTest.java:40)
at Nawa3.Nawa3.service.CrawlingTest.main(CrawlingTest.java:47)
Что я пробовал
Убедился, что путь к ChromeDriver указан правильно.
Проверил совместимость ChromeDriver и версии браузера Chrome.
Очистил и пересобрал проект.
Сделал кэши недействительными и перезапустил IDE.
Несмотря на эти шаги, проблема остается. Буду очень признателен за любую помощь или рекомендации по решению этой проблемы.
Пожалуйста, помогите мне. Проект остановлен на неделю...

Подробнее здесь: https://stackoverflow.com/questions/785 ... ss-org-ope
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»