selenium不同版本jar报错:Exception in thread "main" java.lang.NoClassDefFoundError

版权声明:https://blog.csdn.net/weixin_41585557 https://blog.csdn.net/weixin_41585557/article/details/81667001

使用selenium时,一个很简单的小程序,在运行时一直报错,网上搜索了一下,并没有找到解决的方案,可能遇到这种问题的人比较少吧,但解决这个问题花废了一天多的时间,一直没有找到解决的原因,很是头疼;

这段代码之前是就有的,但是现在报错了,之所以是把它拿出来,是为了比较现有的一个项目,一直在报错,找不到原因,就拿出最初的代码做比较,用来发现问题,排除其他的原因找问题,这个方法还是挺好用的


 

报错信息,

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gson/JsonParseException
    at org.openqa.selenium.remote.http.JsonHttpCommandCodec.<init>(JsonHttpCommandCodec.java:47)
    at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:77)
    at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:62)
    at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:57)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.<init>(DriverCommandExecutor.java:46)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:171)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:160)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:117)
    at selenium0814.selenium0814.SeleniumTest.main(SeleniumTest.java:16)
Caused by: java.lang.ClassNotFoundException: com.google.gson.JsonParseException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 9 more

问题解决,

使用的selenium版本过高,,

出现错误的版本是      selenium-2.45.0,这个版本没有问题,但可能是我其他配置的原因导致出错

使用最初的selenium后,就不报错了,

1.修改selenium版本

2.移除原有的高版本jar包

3.移除后,选择新的jar包--找到对应的jar包----Apply

保存以后,继续hello world吧,,,

——————————网上其他的解决方案——————————

导入chromedriver后报错 


Exception in thread “main” java.lang.NoSuchMethodError:

com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V 
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:111) 
at org.openqa.selenium.chrome.ChromeDriverService.access000(ChromeDriverService.java:32)atorg.openqa.selenium.chrome.ChromeDriverService000(ChromeDriverService.java:32)atorg.openqa.selenium.chrome.ChromeDriverServiceBuilder.findDefaultExecutable(ChromeDriverService.java:137) 
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:302) 
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88) 
at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:124) 
at eooa.chrome.main(chrome.java:19)

原因:selenium的java和standalone包的问题,更新为最新的包就ok了

ps:安装使用firefox时,也会有提示找不到方法,多半是因为版本不一致,在网上找到相应版本,基本就ok了 
贴上上面chrome的报错,是因为在网上没看到有人报相似的错误,所以贴上给大家看看

猜你喜欢

转载自blog.csdn.net/weixin_41585557/article/details/81667001