Selenium爬虫在本地启动没有问题,但在Linux上总是启动失败,org.openqa.selenium.interactions.Cooperatives

问题描述 投票:0回答:1

使用Java做一个Selenium爬虫项目,可以爬取一些我需要的信息到服务器 我在本地使用Selenium爬虫没有问题,然后我尝试将其部署到Linux服务器并启动它。本地我用idea打包成jar,在linux上用java -jar命令启动,但是启动后每次调用爬虫服务都会出现如下异常

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 我找了好久都没有解决这个问题,有谁知道帮我看看到底是怎么回事吗?说实话我真的不太明白

        <!-- selenium-java -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.6.0</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-api</artifactId>
            <version>4.6.0</version>
        </dependency>
java selenium-webdriver web-crawler
1个回答
0
投票

我的硒引入的依赖是

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.4.0</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-api</artifactId>
            <version>3.14.0</version>
        </dependency>

他们的依赖关系是错误的

© www.soinside.com 2019 - 2024. All rights reserved.