当前位置: 首页 > 知识库问答 >
问题:

无法在Java服务器上使用Selenium

余歌者
2023-03-14

我尝试用java制作一个discord patchbot(数据位于动态网站上)。而应用程序在eclipse中工作,并作为。在我的桌面上,我无法让它在服务器上正常工作。服务器是sparkedhost的java服务器。

每次启动时,都会发生以下错误:

Exception in thread "main" java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)
Caused by: java.lang.IllegalStateException: It must be an executable file: /home/container/botFiles/chromedriver.exe
        at org.openqa.selenium.internal.Require.stateCondition(Require.java:169)
        at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:148)
        at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:142)
        at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:38)
        at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:231)
        at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:437)
        at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:127)
        at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:48)
        at selenium.SeleniumApplicaton.run(SeleniumApplicaton.java:40)
        at main.WebScraper.getNews(WebScraper.java:31)
        at main.DiscordBot.<init>(DiscordBot.java:60)
        at main.DiscordBot.main(DiscordBot.java:27)
        ... 5 more

共有1个答案

朱宜
2023-03-14

关于堆栈跟踪中的错误消息:

它必须是可执行文件:/home/container/botFiles/chromedriver。exe文件

您尝试运行的可执行文件(chromedriver.exe)看起来像Windows可执行文件。但是您运行它的服务器不是-它以/的根目录开头,暗示Linux框。

基于此,我认为您可能需要选择与您的服务器操作系统相匹配的chromedrive。

我在问题评论中的猜测转换成了答案,因为这就是答案

 类似资料:
  • 我在Spring上有一个拦截器,可以拦截用户的请求。我想计算申请的持续时间并保存到数据库中。然而,Spring不会自动连接我的豆子,导致服务上的空点异常。 这是代码: 我如何避免这个NPE?

  • 我可以在我自己的电脑上使用这个程序,但是我不能在服务器上使用。 服务器使用最高权限管理员打开程序。 具有的服务器WCF HTTP激活功能。NET4。5号门开着。 服务器endpoint地址使用"http://localhost",如下所示 endpoint地址="http://localhost"绑定="basicHttpBind"bindingConfiguration="NewBinding0

  • 问题内容: 我有一个要配置的现有http服务器。我已经将导入文件包括在内,并且已经在运行http服务器: 当我尝试访问http:// localhost:8080 / debug / pprof /时, 我得到了。 这就是在本地计算机上使用时得到的: 与远程客户端相同: 问题答案: 文档中未明确提及它,而仅将其处理程序注册到。 从来源: 如果您未使用默认的多路复用器,则只需向您要使用的任何多路复用

  • 我想设置两台运行jstatd的服务器,这样我就可以动态监控我的应用程序。web服务器已经启动并运行,但另一台服务器总是会出现这样的异常。 无法将/JStatRemoteHost绑定到RMI注册表java。rmi。ServerException:服务器线程中发生RemoteException;嵌套的例外是:java。rmi。解组异常:错误解组参数;嵌套的例外是:java。lang.ClassNotF

  • null ...9200/_cluster/nodes ...9200/_cluster/health?pretty=true Java代码: Java版本: 问题已按以下方式解决。确保您的客户端和服务器版本是同步的!

  • 我试图设置CoAP服务器使用Java库从http://mvnrepository.com/artifact/org.eclipse.californium/californium-core/1.0.1 将endpoint添加到服务器导致以下异常: 线程“main”java中出现异常。lang.NoClassDefFoundError:org/eclipse/californium/elements