selenium的Chrome在java中打开报错的问题(selenium-java版本的问题)

问题列表:

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.(NumberCoercer.java:49)
    at org.openqa.selenium.json.JsonTypeCoercer.(JsonTypeCoercer.java:71)
    at org.openqa.selenium.json.JsonTypeCoercer.(JsonTypeCoercer.java:53)
    at org.openqa.selenium.json.Json.(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.(RemoteWebDriver.java:131)
    at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:181)
    at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:168)
    at org.openqa.selenium.chrome.ChromeDriver.(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.单独移selenium的Chrome在java中打开报错的问题(selenium-java版本的问题)_第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文件的加载包:


    
        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那个文件夹就好使了.

而parent文件夹里有多少文件?selenium的Chrome在java中打开报错的问题(selenium-java版本的问题)_第2张图片

 我也不知道哪个才是关键.不想试了,直接全部移到仓库里就能行.

-------------分割线------------

就在我以为是guava的问题时,我在框架中来回使用-----发现,又不好使了.换了guava也不行~

继续给我报了这样的错:

        java.lang.NoClassDefFoundError: org/openqa/selenium

直到遇上这篇文章:

selenium的Chrome在java中打开报错的问题(selenium-java版本的问题)_第3张图片

 

辛亏英语好,发现其实就是

selenium-java

的版本太高了,然后有人跟他说你换成3.0左右版本就成,4.0以上不兼容. 结果这位老哥换了之后果然好了,就在问:兄弟,好了耶! 我想问一下,你又没有版本兼容的小册子可以给我参考下哦?!

然后 ,我去了这里,发现:

selenium的Chrome在java中打开报错的问题(selenium-java版本的问题)_第4张图片

你看,3.1那个版本居然又420的下载量,明显高于其他很多很多倍.

那就简单了,换了试试:

 selenium的Chrome在java中打开报错的问题(selenium-java版本的问题)_第5张图片

 


        
            org.seleniumhq.selenium
            selenium-java
            3.141.59
        

果然,成功了!!!!!!!  

我再把它搞坏了试试... 再换回来,好使!这次是真的好使,原来是不兼容,我勒个去~~~~

所以,在这里我也想问跟那位老哥一样的问题,版本兼容的小册子,谁也能给我一个!!!

你可能感兴趣的:(selenium,测试工具)