问题列表:
1. Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;
2.
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.
at org.openqa.selenium.json.JsonTypeCoercer.
at org.openqa.selenium.json.JsonTypeCoercer.
at org.openqa.selenium.json.Json.
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.
at org.openqa.selenium.chrome.ChromeDriver.
at org.openqa.selenium.chrome.ChromeDriver.
at org.openqa.selenium.chrome.ChromeDriver.
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包全部移过来,总行了吧?
依旧没有用!
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文件的加载包:
us.codecraft webmagic-core 0.7.5 us.codecraft webmagic-extension 0.7.5 org.seleniumhq.selenium selenium-java 4.1.2 com.google.guava guava 31.0.1-jre
那么.parent包里面,到底有啥?到底是哪个才是关键?我也不知道了.对照上面的jar包文件夹图,大家看我下了多少个guava版本啊...然而,换版本没用啊,也不知道为啥,换了parents那个文件夹就好使了.
我也不知道哪个才是关键.不想试了,直接全部移到仓库里就能行.
-------------分割线------------
就在我以为是guava的问题时,我在框架中来回使用-----发现,又不好使了.换了guava也不行~
继续给我报了这样的错:
java.lang.NoClassDefFoundError: org/openqa/selenium
直到遇上这篇文章:
辛亏英语好,发现其实就是
selenium-java
的版本太高了,然后有人跟他说你换成3.0左右版本就成,4.0以上不兼容. 结果这位老哥换了之后果然好了,就在问:兄弟,好了耶! 我想问一下,你又没有版本兼容的小册子可以给我参考下哦?!
然后 ,我去了这里,发现:
你看,3.1那个版本居然又420的下载量,明显高于其他很多很多倍.
那就简单了,换了试试:
org.seleniumhq.selenium
selenium-java
3.141.59
果然,成功了!!!!!!!
我再把它搞坏了试试... 再换回来,好使!这次是真的好使,原来是不兼容,我勒个去~~~~
所以,在这里我也想问跟那位老哥一样的问题,版本兼容的小册子,谁也能给我一个!!!