Есть ли рабочий пример входа в HTMLUnit и несколько кликов - PullRequest
3 голосов
/ 18 ноября 2010

Возможно показ поддержки поддержки Javascript


package htmlunitpoc;

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

/**
 *
 * @author 
 */
public class HtmlPoc {

    /**
     * @param args the command line arguments
     */
   public static void main(String[] args) throws Exception {

        WebClient wc = new WebClient();
                HtmlPage page = (HtmlPage) wc.getPage("http://www.google.com");
                HtmlForm form = page.getFormByName("f");
                HtmlSubmitInput button = (HtmlSubmitInput) form.getInputByName("btnG");
                HtmlPage page2 = (HtmlPage) button.click();

    }


}

, но я получаю:

17 ноября 2010 15:41:14 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify ПРЕДУПРЕЖДЕНИЕ: устаревший тип содержимоговстречено: «текст / JavaScript».СОСТАВЬТЕ УСПЕШНО (общее время: 4 секунды)

Что не помогает, поскольку не запускается в качестве модульного теста, и показывает Pass / Fail и т. Д.

Я использую netbeans 6.9.1

1 Ответ

1 голос
/ 19 ноября 2010

Это потому, что вы не написали это как юнит-тест.HtmlUnit несколько неверно назван, так как это не сам бегун, а "браузер без головы", который позволяет вам взаимодействовать с веб-сайтом из Java, как если бы вы были браузером.1003 *

import junit.framework.TestCase;

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

public class HtmlPoc
    extends TestCase
{
   public void test()
      throws Exception
    {
        WebClient wc = new WebClient();
        HtmlPage page = (HtmlPage) wc.getPage("http://www.google.com");
        HtmlForm form = page.getFormByName("f");
        HtmlSubmitInput button = (HtmlSubmitInput) form.getInputByName("btnG");
        HtmlPage page2 = (HtmlPage) button.click();
        assertNotNull( page2 ) ;
    }
}
...