Selenium 爬虫在本地启动没有问题,但是在 Linux 上却总是启动不了,求大佬看看是什么问题

62 天前
 tiRolin

用 Java 做了一些 Selenium 爬虫,可以爬取到一些我需要的信息到服务器上 在本地上我使用 Selenium 爬虫是没问题的,然后我想部署到 Linux 服务器上启动看看,本地用 idea 打包成 jar 然后用 java -jar 命令在 linux 上启动,但是每次启动之后调用爬虫服务就报下面的异常

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/openqa/selenium/interactions/Coordinates] with root cause

java.lang.ClassNotFoundException: org.openqa.selenium.interactions.Coordinates
        at java.net.URLClassLoader.findClass(URLClassLoader.java:387) ~[na:1.8.0_401]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[na:1.8.0_401]
        at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151) ~[autoCrawler-0.0.1-SNAPSHOT.jar:na]

下面是我的 Selenium 配置

        ChromeOptions chromeOptions = new ChromeOptions();
        chromeOptions.addArguments("--headless");
        chromeOptions.addArguments("--disable-gpu");
        chromeOptions.addArguments("--no-sandbox");
        chromeOptions.addArguments("--disable-dev-shm-usage");
        chromeOptions.addArguments("lang=zh_CN.UTF-8");
        chromeOptions.addArguments("window-size=1920x1080"); 

Linux 上 Chrome 浏览器的版本是 122.0.6261.111 ,chromedriver 的版本是 122.0.6261.94 ,Linux 使用的 JDK 是 1.8 我搜索了好久也没能解决这个问题,有没有谁懂得帮我来看看这是咋回事?我属实是搞不懂了说实话

1092 次点击
所在节点    Java
10 条回复
randy552162
62 天前
你怎么打的包?没有指定依赖包路径,当然找不到 class 了
tiRolin
62 天前
@randy552162 我试试你说的方法
我的打包方式就是在 idea 中使用 install 命令打包
Motorola3
62 天前
gpt 怎么说? 我一般都用 python 写这个 没用过 java
yh7gdiaYW
62 天前
刚开始搞?我的建议是换 playwright ,Selenium 是过气网红了
tiRolin
62 天前
@randy552162 不好意思,我不是很懂您说的什么意思,指定依赖包路径具体怎么做?我搜索了好没整明白
KING754
62 天前
感觉是打包方式出问题了。
今天 周四,V 我 50,我帮你解决。
defunct9
62 天前
开 ssh ,让我上去看看
veapon
62 天前
selenium 版本是什么? chrome 122 应该对应 selenium-java 4.18.x 以上才行
janda
62 天前
非常典型的一个异常了、找不到类,你这个 org.openqa.selenium.interactions.Coordinates 类没有打包进去吧
randy552162
58 天前
@tiRolin 你看下你打包的 jar 里面的结构就懂了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1021510

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX