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

查看 88|回复 8
作者: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
我搜索了好久也没能解决这个问题,有没有谁懂得帮我来看看这是咋回事?我属实是搞不懂了说实话
randy552162   
你怎么打的包?没有指定依赖包路径,当然找不到 class 了
tiRolin
OP
  
@randy552162 我试试你说的方法
我的打包方式就是在 idea 中使用 install 命令打包
Motorola3   
gpt 怎么说? 我一般都用 python 写这个 没用过 java
yh7gdiaYW   
刚开始搞?我的建议是换 playwright ,Selenium 是过气网红了
tiRolin
OP
  
@randy552162 不好意思,我不是很懂您说的什么意思,指定依赖包路径具体怎么做?我搜索了好没整明白
KING754   
感觉是打包方式出问题了。
今天 周四,V 我 50,我帮你解决。
defunct9   
开 ssh ,让我上去看看
veapon   
selenium 版本是什么? chrome 122 应该对应 selenium-java 4.18.x 以上才行
您需要登录后才可以回帖 登录 | 立即注册

返回顶部