목차
问题内容
解决方法
Java 스레드 'JavaFX 애플리케이션 스레드'에서 예외 java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver

스레드 'JavaFX 애플리케이션 스레드'에서 예외 java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver

Feb 22, 2024 pm 02:30 PM
webdriver

php小编新一带来的Java问答:在开发JavaFX应用程序时,有时会遇到异常java.lang.NoClassDefFoundError,错误提示为org/openqa/selenium/WebDriver。这个异常通常表示缺少WebDriver类的依赖包,需要在项目中添加相应的依赖以解决该问题。接下来我们将详细介绍如何处理这种异常,并提供解决方案,让您顺利解决线程问题。

问题内容

根据我当前的代码,有什么可能导致此异常的线索吗?

运行以下代码时:

main.java

package application;
    
import java.io.ioexception;

import javafx.application.application;
import javafx.stage.stage;
import javafx.scene.scene;
import javafx.scene.control.button;
import javafx.scene.layout.gridpane;


public class main extends application {
    @override
    public void start(stage primarystage) throws ioexception {
        button runbutton = new button("run");

        runbutton.setonaction(e -> {
            test test = new test();
        });
        
        gridpane gridbox = new gridpane();
        
        gridbox.add(runbutton, 0, 0);

        scene scene = new scene(gridbox, 380, 150);
        
        primarystage.setscene(scene);
        primarystage.show();
    }
    
    public static void main(string[] args) {
        launch(args);
    }
}
로그인 후 복사

测试.java

package application;

import org.openqa.selenium.webdriver;
import org.openqa.selenium.chrome.chromedriver;

public class test {
    webdriver driver;
    
    public static void main(string[] args) {
        test obj = new test();
        obj.setupwebsite();
    }
    
    public void setupwebsite() {
        //creates chrome window.
        driver = new chromedriver();
        
        //sets up window to maximize and go to brink website.
        driver.manage().window().maximize();
        driver.get("https://www.google.com");
    }
}
로그인 후 복사

我得到的只是以下内容:

Exception in thread "JavaFX Application Thread" java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver
    at application.Main.lambda$0(Main.java:18)
    at [email protected]/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
    at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
    at [email protected]/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at [email protected]/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at [email protected]/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
    at [email protected]/javafx.event.Event.fireEvent(Event.java:198)
    at [email protected]/javafx.scene.Node.fireEvent(Node.java:8875)
    at [email protected]/javafx.scene.control.Button.fire(Button.java:203)
    at [email protected]/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:207)
    at [email protected]/com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
    at [email protected]/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247)
    at [email protected]/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
    at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
    at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
    at [email protected]/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at [email protected]/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at [email protected]/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at [email protected]/javafx.event.Event.fireEvent(Event.java:198)
    at [email protected]/javafx.scene.Scene$MouseHandler.process(Scene.java:3984)
    at [email protected]/javafx.scene.Scene.processMouseEvent(Scene.java:1890)
    at [email protected]/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2708)
    at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
    at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
    at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
    at [email protected]/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
    at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
    at [email protected]/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
    at [email protected]/com.sun.glass.ui.View.notifyMouse(View.java:937)
    at [email protected]/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at [email protected]/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:185)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.WebDriver
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
    ... 46 more
로그인 후 복사

我已确认我的所有 jar 文件都位于正确的位置。我可以单独运行 test.java 文件。我有这个代码的更大版本,最初认为这是由于整个代码有问题,但发现即使精简到这个,它仍然会继续。

解决方法

想通了。我必须将所有 JAR 文件添加到运行配置类路径中。

위 내용은 스레드 'JavaFX 애플리케이션 스레드'에서 예외 java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Python 및 WebDriver 확장: 웹 페이지에서 마우스 휠 작업 시뮬레이션 Python 및 WebDriver 확장: 웹 페이지에서 마우스 휠 작업 시뮬레이션 Jul 09, 2023 pm 11:55 PM

Python 및 WebDriver 확장: 웹 페이지에서 마우스 휠 작업 시뮬레이션 소개: 웹 상호 작용 디자인의 지속적인 개발로 인해 자동화된 테스트에서 사용자 작업 시뮬레이션이 점점 더 중요해졌습니다. 일부 웹페이지에서는 마우스 휠을 사용하는 것이 일반적인 작업 중 하나가 되었습니다. 그러나 Python을 사용하여 자동화된 테스트 스크립트를 작성하는 개발자의 경우 WebDriver에서 마우스 휠 작업을 시뮬레이션하는 방법이 어려울 수 있습니다. 이번 글에서는 Python과 WebDriv를 이용한 방법을 소개하겠습니다.

Python 및 WebDriver를 사용하여 웹 페이지를 캡처하고 PDF 파일로 저장 Python 및 WebDriver를 사용하여 웹 페이지를 캡처하고 PDF 파일로 저장 Jul 08, 2023 pm 10:55 PM

Python 및 WebDriver를 사용하여 웹 페이지 스크린샷을 캡처하고 PDF 파일로 저장 요약: 웹 개발 및 테스트 중에 분석, 기록 및 보고를 위해 웹 페이지 스크린샷을 캡처해야 하는 경우가 많습니다. 이 기사에서는 Python 및 WebDriver를 사용하여 웹 페이지의 스크린샷을 찍고 스크린샷을 PDF 파일로 저장하여 쉽게 공유하고 보관하는 방법을 소개합니다. 1. SeleniumWebDriver 설치 및 구성: Python 설치: Python 공식 웹사이트(https:

Python 및 WebDriver를 사용하여 웹 페이지의 인증 코드를 자동으로 입력하세요. Python 및 WebDriver를 사용하여 웹 페이지의 인증 코드를 자동으로 입력하세요. Jul 07, 2023 am 10:19 AM

Python 및 WebDriver를 사용하여 웹 페이지에 자동으로 인증 코드를 입력하세요. 인터넷이 발전하면서 점점 더 많은 웹사이트에서 보안을 강화하고 자동화된 공격을 방지하기 위해 사용자 등록, 로그인 및 기타 작업에 인증 코드 메커니즘을 도입했습니다. 그러나 인증 코드를 수동으로 입력하는 것은 번거로울 뿐만 아니라 사용자 경험의 복잡성을 증가시킵니다. 그렇다면 인증번호를 자동으로 입력할 수 있는 방법은 없을까요? 대답은 '예'입니다. 이 글에서는 Python과 WebDriver를 사용하여 웹 페이지에 인증 코드를 자동으로 입력하는 방법을 소개합니다. 첫째로, 나는

Python 및 WebDriver를 사용하여 웹 페이지 자동 새로 고침 Python 및 WebDriver를 사용하여 웹 페이지 자동 새로 고침 Jul 08, 2023 pm 01:46 PM

Python 및 WebDriver를 사용하여 자동 웹 페이지 새로 고침 구현 소개: 일상적인 웹 탐색에서 실시간 데이터 모니터링, 동적 페이지 자동 새로 고침 등과 같이 빈번한 웹 페이지 새로 고침이 필요한 시나리오를 자주 접하게 됩니다. 웹 페이지를 수동으로 새로 고치는 것은 많은 시간과 에너지를 낭비하므로 Python과 WebDriver를 사용하여 웹 페이지를 자동으로 새로 고치는 기능을 구현하고 작업 효율성을 향상시킬 수 있습니다. 1. 설치 및 환경 구성 시작하기 전에 해당 환경을 설치하고 구성해야 합니다. 파이썬 설치

Python 및 WebDriver를 사용하여 웹 페이지의 테이블 데이터 자동 채우기 Python 및 WebDriver를 사용하여 웹 페이지의 테이블 데이터 자동 채우기 Jul 07, 2023 pm 08:37 PM

Python 및 WebDriver를 사용하여 웹 페이지의 양식 데이터를 자동으로 채우는 것은 소프트웨어 개발 프로세스의 중요한 부분 중 하나는 웹 양식의 자동 채우기입니다. 개발자에게 양식을 수동으로 작성하는 것은 지루하고 오류가 발생하기 쉬운 프로세스입니다. 자동 테스트 프로세스 중에 Python 및 WebDriver를 사용하여 테이블 데이터를 자동으로 채우면 수동 작업 중복을 줄이고 테스트 효율성을 높일 수 있습니다. 이번 글에서는 Python에서 Selenium을 사용하는 방법을 소개하겠습니다.

Python 및 WebDriver 확장: 웹 페이지에서 마우스 오른쪽 버튼 클릭 시뮬레이션 Python 및 WebDriver 확장: 웹 페이지에서 마우스 오른쪽 버튼 클릭 시뮬레이션 Jul 07, 2023 am 11:22 AM

Python 및 WebDriver 확장: 웹 페이지에서 마우스 오른쪽 버튼 클릭 시뮬레이션 자동화된 웹 페이지 테스트를 위해 Python 및 WebDriver를 사용할 때 클릭, 드래그 및 마우스 오른쪽 버튼 클릭 메뉴 작업과 같은 사용자 마우스 동작을 시뮬레이션해야 하는 경우가 많습니다. WebDriver는 클릭, 드래그 앤 드롭 등과 같은 몇 가지 기본적인 마우스 동작 기능을 제공하지만 마우스 오른쪽 버튼 클릭을 시뮬레이션하는 기능을 직접 제공하지는 않습니다. 이 기사에서는 Python과 WebD를 사용하는 방법을 소개합니다.

Python 및 WebDriver 확장을 사용하여 웹 페이지에서 끌어서 놓기 작업 자동화 Python 및 WebDriver 확장을 사용하여 웹 페이지에서 끌어서 놓기 작업 자동화 Jul 10, 2023 pm 07:09 PM

Python 및 WebDriver 확장을 사용하여 웹 페이지의 드래그 앤 드롭 작업을 자동화합니다. 실제 웹 애플리케이션에서 드래그 앤 드롭(Drag and Drop)은 사용자 경험과 편의성을 향상시킬 수 있는 일반적인 대화형 작업입니다. 웹 페이지의 끌어서 놓기 작업을 자동화하는 것은 테스터에게 중요하고 일반적인 작업입니다. 이 기사에서는 Python 및 WebDriver 확장을 사용하여 웹 페이지에서 끌어서 놓기 작업을 자동화하는 방법을 소개합니다. 1. 준비 시작하기 전에 Pyt를 설치해야 합니다.

Python 및 WebDriver를 사용하여 양식 자동 채우기 기능 구현 Python 및 WebDriver를 사용하여 양식 자동 채우기 기능 구현 Jul 07, 2023 am 10:25 AM

Python 및 WebDriver를 사용하여 양식 자동 채우기 기능 구현 일상적인 웹 사이트 탐색에서 양식을 작성해야 하는 상황에 자주 직면합니다. 동일하거나 유사한 양식을 자주 작성해야 하는 경우 수동으로 작성하는 것은 지루하고 시간이 많이 걸립니다. 다행히 Python과 WebDriver를 사용하면 자동으로 양식을 채우는 기능을 실현하고 작업 효율성을 높일 수 있습니다. 먼저 Selenium 라이브러리를 설치해야 합니다. Selenium은 시뮬레이션할 수 있는 자동화된 테스트 도구입니다.