2017-07-14 64 views
0

我想打开网页,并单击它的链接在Java中使用HtmlUnit,但我得到初始化错误。有人可以告诉我如何解决这个错误。 这里是我的代码:自动化使用HtmlUnit

package learn1; 
import java.net.URL; 

import com.gargoylesoftware.htmlunit.WebClient; 
import com.gargoylesoftware.htmlunit.html.HtmlAnchor; 
import com.gargoylesoftware.htmlunit.html.HtmlForm; 
import com.gargoylesoftware.htmlunit.html.HtmlPage; 
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput; 
import com.gargoylesoftware.htmlunit.html.HtmlTextInput; 

import org.junit.Test; 


public class SearchExample{ 

    public static void main(String args[]) throws Exception { 
     SearchExample exe=new SearchExample(); 
     exe.testSearch(); 

    } 

    @Test 
    public void testSearch() throws Exception { 

     final WebClient webClient = new WebClient(); 
     webClient.setThrowExceptionOnScriptError(false); 
     final URL url = new URL("http://www.google.com"); 
     final HtmlPage page = (HtmlPage)webClient.getPage(url); 
     System.out.println(page.getTitleText()); 
     HtmlForm form = (HtmlForm) page.getForms().get(0); 
     HtmlTextInput text = (HtmlTextInput) form.getInputByName("q"); 
     text.setValueAttribute("HtmlUnit"); 
     HtmlSubmitInput btn = (HtmlSubmitInput) form.getInputByName("btnG"); 
     HtmlPage page2 = (HtmlPage) btn.click(); 
     HtmlAnchor link = page2.getAnchorByHref("http://htmlunit.sourceforge.net/"); 
     HtmlPage page3 = (HtmlPage) link.click(); 
     System.out.print(page3.getTitleText()); 
     /*assertEquals(page3.getTitleText(), "htmlunit - Welcome to HtmlUnit"); 
     assertNotNull(page3.getAnchorByHref("gettingStarted.html"));*/ 
    } 
} 

我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/client/CredentialsProvider at learn1.SearchExample.testSearch(SearchExample.java:26) at learn1.SearchExample.main(SearchExample.java:19) Caused by: java.lang.ClassNotFoundException: org.apache.http.client.CredentialsProvider at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 2 more

不明白为什么我收到的时候我已经导入com.gargoylesoftware.htmlunit.WebClient

+0

请张贴您的'初始化错误'的stacktrace。 – sudo

+0

异常在线程 “主要” java.lang.NoClassDefFoundError:组织/阿帕奇/ HTTP /客户端/ CredentialsProvider \t在learn1.SearchExample.testSearch(SearchExample.java:26) \t在learn1.SearchExample.main(SearchExample.java: 19) 引起:抛出java.lang.ClassNotFoundException:org.apache.http.client.CredentialsProvider \t在java.net.URLClassLoader.findClass(未知来源) \t在java.lang.ClassLoader.loadClass(未知来源) \t at sun.misc.Launcher $ AppClassLoader.loadClass(Unknown Source) \t at java.lang.ClassLoader.loadClass(Unknown Source) \t。 .. 2更多 – ACE

回答