我想打开网页,并单击它的链接在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
请张贴您的'初始化错误'的stacktrace。 – sudo
异常在线程 “主要” 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