I am trying to open webpages and click on its links using HtmlUnit in java but am getting initialization error. Can someone tell me how to resolve this error. Here is my code:
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"));*/
}
}
I am getting following error:
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
Can't understand why I am getting this error when I have already imported com.gargoylesoftware.htmlunit.WebClient