2017-07-14 1 views
0

J'essaie d'ouvrir des pages Web et de cliquer sur ses liens en utilisant HtmlUnit dans java mais je reçois une erreur d'initialisation. Quelqu'un peut-il me dire comment résoudre cette erreur. Voici mon code:Automation using 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"));*/ 
    } 
} 

J'obtiens l'erreur suivante:

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

ne comprends pas pourquoi je reçois cette erreur quand je l'ai déjà importé com.gargoylesoftware.htmlunit.WebClient

+0

Veuillez poster votre piletrace 'd'erreur d'initialisation '. – sudo

+0

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/client/CredentialsProvider \t à learn1.SearchExample.testSearch (SearchExample.java:26) \t à learn1.SearchExample.main (SearchExample.java: 19) causée par: java.lang.ClassNotFoundException: org.apache.http.client.CredentialsProvider \t à java.net.URLClassLoader.findClass (Source inconnue) \t à java.lang.ClassLoader.loadClass (Source inconnue) \t à sun.misc.Launcher $ AppClassLoader.loadClass (source inconnue) \t à java.lang.ClassLoader.loadClass (source inconnue) \t. .. 2 plus – ACE

Répondre