问题列表:
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/internal/Require
at org.openqa.selenium.json.NumberCoercer.<init>(NumberCoercer.java:49)
at org.openqa.selenium.json.JsonTypeCoercer.<init>(JsonTypeCoercer.java:71)
at org.openqa.selenium.json.JsonTypeCoercer.<init>(JsonTypeCoercer.java:53)
at org.openqa.selenium.json.Json.<init>(Json.java:37)
at org.openqa.selenium.remote.NewSessionPayload.create(NewSessionPayload.java:100)
at org.openqa.selenium.remote.NewSessionPayload.create(NewSessionPayload.java:94)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:68)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:157)
at com.jt.foottest.chrometest.main(chrometest.java:10)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.internal.Require
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 16 more
Process finished with exit code 1
---------------------问题诸如此类-----------------
值得开心的是,之前一不小心没有换maven仓库的位置,导致可以正常登录浏览器了.而当我再别的项目里,配置完maven 就不行了.
排查:1.可能是和springboot框架冲突了?
----------不应该,回到之前没换maven仓库那里简单搭完框架后,发现可以正常运行
2.jar包错了?
---------依照没有换maven仓库的项目重新下载jar包,依旧不对.
3.把没有换maven仓库的jar包移过来看看?
移了
selenium-java的jar包文件夹,依旧没有用!
4.看到网上说,下一个Selenium Server Standalone jar包?
--------依旧没有用!
5.我还不信邪了,换个guava 包看看?
-----更新了多个版本依旧没有用!
6.我把guava包全部移过来,总行了吧?
-----------发现:1.单独移
依旧没有用!
2.等一等,我发现还有一个包,名叫:
这个包移过来呢?有用!!!可以正常打开了.
测试代码分享:
package com.tf.chrome;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class tst0001 {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com/");
}
}
pom.xml文件的加载包:
<!--webmagic-core核心包 -->
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-core</artifactId>
<version>0.7.5</version>
</dependency>
<!--webmagic-extension 拓展-->
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-extension</artifactId>
<version>0.7.5</version>
</dependency>
<!--selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.0.1-jre</version>
<classifier></classifier>
</dependency>
</dependencies>
那么.parent包里面,到底有啥?到底是哪个才是关键?我也不知道了.对照上面的jar包文件夹图,大家看我下了多少个guava版本啊...然而,换版本没用啊,也不知道为啥,换了parents那个文件夹就好使了.
而parent文件夹里有多少文件?
我也不知道哪个才是关键.不想试了,直接全部移到仓库里就能行.
-------------分割线------------
就在我以为是guava的问题时,我在框架中来回使用-----发现,又不好使了.换了guava也不行~
继续给我报了这样的错:
java.lang.NoClassDefFoundError: org/openqa/selenium
直到遇上这篇文章:
辛亏英语好,发现其实就是
selenium-java
的版本太高了,然后有人跟他说你换成3.0左右版本就成,4.0以上不兼容. 结果这位老哥换了之后果然好了,就在问:兄弟,好了耶! 我想问一下,你又没有版本兼容的小册子可以给我参考下哦?!
然后 ,我去了这里,发现:
你看,3.1那个版本居然又420的下载量,明显高于其他很多很多倍.
那就简单了,换了试试:
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
果然,成功了!!!!!!!
我再把它搞坏了试试... 再换回来,好使!这次是真的好使,原来是不兼容,我勒个去~~~~
所以,在这里我也想问跟那位老哥一样的问题,版本兼容的小册子,谁也能给我一个!!!
版权归原作者 大河之J天上来 所有, 如有侵权,请联系我们删除。