【问题标题】:WebDriver and ChromeDriver: Unable to fix org/json/JSONException errorWebDriver 和 ChromeDriver:无法修复 org/json/JSONException 错误
【发布时间】:2019-01-13 20:22:29
【问题描述】:

我是使用 Selenium WebDriver 的新手。我正在尝试使用 ChromeDriver,以下是我的代码:

public class WebScraper  {
    public WebScraper() {

    }

    public WebDriver driver = new ChromeDriver();

    public void openTestSite() {
        driver.navigate().to("https://google.com");
    }


    public void enter(String word) {

         WebElement query_editbox = 
         driver.findElement(By.id("query")); 
         query_editbox.sendKeys(word);
         query_editbox.sendKeys(Keys.RETURN);

    }

//    public void getText()  {
//        //List<WebElement> searchResults = 
//        driver.findElements(By.xpath("//div[@id='mid']/div")); 
//        // Writer writer = new BufferedWriter(new 
//        OutputStreamWriter(new FileOutputStream("status.txt"), 
//        "utf-8"));
//        //int[] index = {0};
//
//    WebElement result=driver.findElement(By.id("mid"));
//    System.out.println(result.getText());
//}

public static void main(String[] args) throws IOException  {
    System.setProperty("webdriver.chrome.driver", "chromedriver");        
    System.out.println("Hello");

    WebScraper webScraper = new WebScraper();
    webSrcapper.openTestSite();
    webSrcapper.enter("avoir");
    //webSrcapper.getText();
    System.out.println("Hello");

}
}

我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONException
    at org.openqa.selenium.remote.RemoteWebDriver.init(RemoteWebDriver.java:110)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:92)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:144)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:86)
    at WebScraper.<init>(WebScraper.java:15)
    at WebScraper.main(WebScraper.java:47)
Caused by: java.lang.ClassNotFoundException: org.json.JSONException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 6 more

有人可以帮我解决这个问题并告诉我为什么我会收到这个错误吗?

谢谢!

【问题讨论】:

  • 硒版?
  • 嗨@DebanjanB,我使用的是最新版本的Selenium,所以我认为这不是问题。
  • 您能否具体说明一下版本号以及是否是selenium-java客户端工具包或selenium-server-standalone.jar i> 或 maven/gradle 依赖?

标签: java selenium webdriver selenium-chromedriver


【解决方案1】:

错误

线程“main”中的异常 java.lang.NoClassDefFoundError: org/json/JSONException

是因为它缺少依赖org.json添加这个https://mvnrepository.com/artifact/org.json/json/20180813

【讨论】:

  • 嗨@ewwink,非常感谢您的回复!我现在已经下载了这个依赖,但是我需要使用官方声明来导入它吗?再次感谢!
  • 不,把它和selenium-server.jar放在同一个地方
  • 好的,非常感谢!问题似乎是 selenium 和 chromedriver 版本不对应。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多