0

我正在研究 Netbeans。我添加了一个库 selenium-java-2.31.0。但它显示异常。我添加了这个库所依赖的所有库。

我按照此链接在 netbeans 中添加库。

我的代码:-

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Iterator;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;


public static void main(String[] args) throws IOException, URISyntaxException {
        String url1 = "http://www.jabong.com/giordano-P6868-Black-Analog-Watch-183702.html";


        Document doc1 = Jsoup.connect(url1).get();

        WebDriver driver = new FirefoxDriver();
        driver.get(url1);  


        Elements tag_list = doc1.getAllElements();

        for( Element tag1 : tag_list ) {
            Point point=driver.findElement(By.id(tag1.id())).getLocation();  
            System.out.println("X Position : " + point.x);  
            System.out.println("Y Position : " + point.y);

        }
}

例外

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Function
    at template_matching.Template_matching.main(Template_matching.java:275)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Function
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 1 more
Java Result: 1
BUILD SUCCESSFUL (total time: 2 seconds)

帮我解决这个问题。为什么会抛出这个异常?

编辑 1

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONException
    at org.openqa.selenium.firefox.FirefoxProfile.<init>(FirefoxProfile.java:89)
    at org.openqa.selenium.firefox.FirefoxProfile.<init>(FirefoxProfile.java:79)
    at org.openqa.selenium.firefox.FirefoxProfile.<init>(FirefoxProfile.java:67)
    at org.openqa.selenium.firefox.FirefoxDriver.getProfile(FirefoxDriver.java:260)
    at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:236)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:110)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:190)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:183)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:179)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:92)
    at template_matching.Template_matching.main(Template_matching.java:275)
Caused by: java.lang.ClassNotFoundException: org.json.JSONException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 11 more
Java Result: 1

编辑 2

现在我转向 maven,认为它会下载所有依赖库。但现在它显示了不同的错误。

在此处输入图像描述

编辑第 3 号

由于它显示了 firefox 的一些问题,我用 Chrome 替换了 firefox。这次删除了先前的错误。但是一个新的出现了。请看这个。

在此处输入图像描述

编辑编号 4

在此处输入图像描述

编辑第 5 号

现在我再次转移到Firefox,并获得了页面,但它卡住了。为什么 ?

下面是我得到的错误快照。

在此处输入图像描述

4

2 回答 2

3

我相信您此时看到的问题是由于您传入了 driver.get("url1");

我认为您的意思是传入 driver.get(url1); (注意不要加引号)

稍微扩展一下,它抛出格式错误的 uri 异常的原因是传入的 uri (url1) 不包含任何协议 (http/https)。

于 2013-04-01T20:09:00.787 回答
0

我认为您可以创建一个 Maven 项目来解决与硒相关的依赖问题。

于 2013-04-02T07:07:28.030 回答