Java新手编写Selenium脚本遇org.openqa导入失败问题求助
问题描述
我是一名Python开发者,从未使用过Java。尝试编写基础Selenium脚本时,不知道如何让项目指向正确的jar包(推测问题出在这里)。从Selenium官网下载了包含大量jar文件的压缩包,想导入org.openqa.selenium.WebDriver包,但找不到对应的文件结构。
我的脚本代码:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class hello { public static void main(String[] args) { String x = "hello world lol"; System.out.println(x); System.setProperty("webdriver.chrome.driver", "C:/Users/xxx/Desktop/jda test/q4/chromedriver.exe"); WebDriver driver = new ChromeDriver(); } }
拥有的jar文件列表:
C:\Users\tgmjack\Desktop\java\New folder (40)>dir Volume in drive C has no label. Volume Serial Number is C037-C26A Directory of C:\Users\tgmjack\Desktop\java\New folder (40) 22/01/2024 18:39 <DIR> . 22/01/2024 18:39 <DIR> .. 01/01/2010 00:00 166,533 CHANGELOG 22/01/2024 18:39 <DIR> lib 01/01/2010 00:00 11,365 LICENSE 01/01/2010 00:00 89 NOTICE 01/01/2010 00:00 180,147 selenium-api-4.16.1-sources.jar 01/01/2010 00:00 230,724 selenium-api-4.16.1.jar 01/01/2010 00:00 10,463 selenium-chrome-driver-4.16.1-sources.jar 01/01/2010 00:00 14,949 selenium-chrome-driver-4.16.1.jar 01/01/2010 00:00 24,164 selenium-chromium-driver-4.16.1-sources.jar 01/01/2010 00:00 36,672 selenium-chromium-driver-4.16.1.jar 01/01/2010 00:00 676,071 selenium-devtools-v118-4.16.1-sources.jar 01/01/2010 00:00 1,419,939 selenium-devtools-v118-4.16.1.jar 01/01/2010 00:00 676,465 selenium-devtools-v119-4.16.1-sources.jar 01/01/2010 00:00 1,422,009 selenium-devtools-v119-4.16.1.jar 01/01/2010 00:00 684,866 selenium-devtools-v120-4.16.1-sources.jar 01/01/2010 00:00 1,438,429 selenium-devtools-v120-4.16.1.jar 01/01/2010 00:00 474,307 selenium-devtools-v85-4.16.1-sources.jar 01/01/2010 00:00 1,008,603 selenium-devtools-v85-4.16.1.jar 01/01/2010 00:00 10,544 selenium-edge-driver-4.16.1-sources.jar 01/01/2010 00:00 15,260 selenium-edge-driver-4.16.1.jar 01/01/2010 00:00 118,441 selenium-firefox-driver-4.16.1-sources.jar 01/01/2010 00:00 83,029 selenium-firefox-driver-4.16.1.jar 01/01/2010 00:00 39,906 selenium-http-4.16.1-sources.jar 01/01/2010 00:00 79,908 selenium-http-4.16.1.jar 01/01/2010 00:00 11,954 selenium-ie-driver-4.16.1-sources.jar 01/01/2010 00:00 16,843 selenium-ie-driver-4.16.1.jar 01/01/2010 00:00 288 selenium-java-4.16.1-sources.jar 01/01/2010 00:00 545 selenium-java-4.16.1.jar 21/01/2024 23:32 27,512,986 selenium-java-4.16.1.zip 01/01/2010 00:00 41,665 selenium-json-4.16.1-sources.jar 01/01/2010 00:00 70,921 selenium-json-4.16.1.jar 01/01/2010 00:00 6,399 selenium-manager-4.16.1-sources.jar 01/01/2010 00:00 8,888,227 selenium-manager-4.16.1.jar 01/01/2010 00:00 17,405 selenium-os-4.16.1-sources.jar 01/01/2010 00:00 28,113 selenium-os-4.16.1.jar 01/01/2010 00:00 282,337 selenium-remote-driver-4.16.1-sources.jar 01/01/2010 00:00 485,056 selenium-remote-driver-4.16.1.jar 01/01/2010 00:00 17,020 selenium-safari-driver-4.16.1-sources.jar 01/01/2010 00:00 27,401 selenium-safari-driver-4.16.1.jar 01/01/2010 00:00 87,425 selenium-support-4.16.1-sources.jar 01/01/2010 00:00 191,651 selenium-support-4.16.1.jar
lib文件夹内的文件:
C:\Users\tgmjack\Desktop\java\New folder (40)\lib\>dir Volume in drive C has no label. Volume Serial Number is C037-C26A Directory of C:\Users\tgmjack\Desktop\java\New folder (40)\lib 22/01/2024 18:39 <DIR> . 22/01/2024 18:39 <DIR> .. 01/01/2010 00:00 3,278 auto-service-annotations-1.1.1.jar 01/01/2010 00:00 4,192,244 byte-buddy-1.14.5.jar 01/01/2010 00:00 224,000 checker-qual-3.33.0.jar 01/01/2010 00:00 54,458 commons-exec-1.3.jar 01/01/2010 00:00 16,518 error_prone_annotations-2.18.0.jar 01/01/2010 00:00 146,981 failsafe-3.3.2.jar 01/01/2010 00:00 4,644 failureaccess-1.0.1.jar 01/01/2010 00:00 3,041,611 guava-32.1.2-jre.jar 01/01/2010 00:00 9,608 j2objc-annotations-2.8.jar 01/01/2010 00:00 20,587 jsr305-3.0.2.jar 01/01/2010 00:00 2,249 listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar 01/01/2010 00:00 140,641 opentelemetry-api-1.28.0.jar 01/01/2010 00:00 6,323 opentelemetry-api-events-1.28.0-alpha.jar 01/01/2010 00:00 48,020 opentelemetry-context-1.28.0.jar 01/01/2010 00:00 11,482 opentelemetry-exporter-logging-1.28.0.jar 01/01/2010 00:00 7,484 opentelemetry-extension-incubator-1.28.0-alpha.jar 01/01/2010 00:00 7,015 opentelemetry-sdk-1.28.0.jar 01/01/2010 00:00 43,405 opentelemetry-sdk-common-1.28.0.jar 01/01/2010 00:00 40,441 opentelemetry-sdk-extension-autoconfigure-1.28.0.jar 01/01/2010 00:00 16,874 opentelemetry-sdk-extension-autoconfigure-spi-1.28.0.jar 01/01/2010 00:00 48,054 opentelemetry-sdk-logs-1.28.0.jar 01/01/2010 00:00 262,604 opentelemetry-sdk-metrics-1.28.0.jar 01/01/2010 00:00 118,848 opentelemetry-sdk-trace-1.28.0.jar 01/01/2010 00:00 40,428 opentelemetry-semconv-1.28.0-alpha.jar
使用Visual Studio Code,报错:"The import org.openqa cannot be resolved",请问该如何解决?
解决步骤
1. 确认核心依赖jar包
你的代码需要以下jar文件(已在你下载的目录中):
selenium-api-4.16.1.jar(包含org.openqa.selenium.WebDriver)selenium-chrome-driver-4.16.1.jar(包含ChromeDriver)selenium-support-4.16.1.jarselenium-remote-driver-4.16.1.jarselenium-http-4.16.1.jarselenium-json-4.16.1.jarlib文件夹下所有第三方依赖jar包(如guava、commons-exec等)
2. 手动配置VS Code依赖路径
- 打开Java项目根目录,创建
.vscode文件夹(若不存在)。 - 在
.vscode中新建settings.json,添加以下内容:
{ "java.project.referencedLibraries": [ "C:/Users/tgmjack/Desktop/java/New folder (40)/*.jar", "C:/Users/tgmjack/Desktop/java/New folder (40)/lib/*.jar" ] }
- 保存文件后,等待VS Code完成jar包索引扫描。
3. 更省心的方案:用Maven管理依赖
手动管理jar包容易出错,推荐用Maven自动下载依赖:
- 在项目根目录创建
pom.xml文件,写入:
<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>com.example</groupId> <artifactId>selenium-demo</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.16.1</version> </dependency> </dependencies> </project>
- 安装VS Code的Maven插件,右键点击
pom.xml选择Run Maven -> Install,Maven会自动下载所有需要的依赖。
4. 验证与后续检查
配置完成后,重新打开hello.java,确认导入语句无报错。运行前注意:确保ChromeDriver版本与本地Chrome浏览器版本匹配,否则会出现启动失败问题。
内容的提问来源于stack exchange,提问作者learn_css
相关产品推荐
相关产品推荐

