기본 콘텐츠로 건너뛰기

HtmlUnit

다운로드:
https://sourceforge.net/projects/htmlunit/

샘플 소스
http://htmlunit.sourceforge.net/xref-test/com/gargoylesoftware/htmlunit/html/HtmlSelectTest.html

이클립스
jar파일을 다운로드 받아 이클립스 프로젝트 build path에 추가해주자

build path
프로젝트를 선택후 Alt + Enter 를 누르면 Properties가보이고
왼쪽 목록에 Java Build Path 가 보일겁니다.

보통 JAR 파일을 프로젝트에 넣을때, 이렇게 사용합니다.

방법 1 :




- 프로젝트 안에 lib 라는 새 폴더 만들기 (이름은 아무거나)

- 그 안에 jar 파일 넣기

- 이클립스에서 refresh 하면 폴더가 보여짐

- jar 파일을 모두 선택한후에 , 오른쪽 클릭 -  Build Path - Add to Build Path 클릭하면 끝

- 이클립스에서 Referenced Libraries 에 보여질것임.

방법 2 :

- 프로젝트 안에 lib 라는 새 폴더 만들기 (이름은 아무거나)

- 그 안에 jar 파일 넣기

- 이클립스에서 refresh 하면 폴더가 보여짐

- Project -> Select Build Path -> Select Configure Build Path -> Library   Add Jars .. 로  lib 폴더 안의 jar 파일
  선택함

- 이클립스에서 Referenced Libraries 에 보여질것임.

import java.io.OutputStream;
import java.io.PrintStream;
import java.util.List;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
import com.gargoylesoftware.htmlunit.html.HtmlDivision;
import com.gargoylesoftware.htmlunit.html.HtmlInput;
import com.gargoylesoftware.htmlunit.html.HtmlPage;



public class HelloWorld {
public static void main(String[] args) throws Exception {
       turnOffSystemErr();
    // WebClient == virtual web browser (here as firefox)
       //WebClient webClient = new WebClient(BrowserVersion.FIREFOX_45);
       WebClient webClient = new WebClient();

       // read a html page via WebClient
       // this includes some parcing process so it takes some time
       HtmlPage page = webClient.getPage("http://static.nid.naver.com/loginbox.nhn");
       System.out.println(page.getTitleText());
       System.out.println(page.getEndLineNumber());

       // call HtmlPage.asXml() to get whole raw html code
       String pageAsXml = page.asXml();
       System.out.println(pageAsXml);

       // call HtmlPage.asText() to get only human-readable text
       String pageAsText = page.asText();
       System.out.println(pageAsText);

       // call page.getXX() to find a tag
       HtmlDivision div = (HtmlDivision) page.getElementById("login_container");
       HtmlAnchor a = page.getAnchorByHref("javascript:useLevel(1);");
       System.out.println(div.asXml());
       System.out.println(a.asXml());

       // call page.getByXPath() to find a tag, using XPath (RECOMMENDED)
       List divList = page.getByXPath("//div");
       HtmlInput input = (HtmlInput) page.getByXPath("//input[@name='id']").get(0);
       System.out.println(divList.size());
       System.out.println(input.asXml());

       // finish the virtual web browser
       //webClient.closeAllWindows();

System.out.println("Hello World");
}
private static void turnOffSystemErr() {
        System.setErr(new PrintStream(new OutputStream() {
            public void write(int b) {
                // do nothing
            }
        }));
    }


}

댓글

이 블로그의 인기 게시물

톰캣 세션 타임 아웃 설정

web.xml 파일이 있습니다. 이 파일을 열어서 session이라고 검색해 보십시오. <session-config>   <session-timeout>360</session-timeout> </session-config> 위 단락을 찾을 수 있습니다. session-timeout 시간 360이 바로 자동로그아웃 세션 시간입니다.  단위는 분이고요. 30분으로 하고 싶으시면 30으로 바꿔서 저장해주시면 되는 것이죠~ Tomcat 내에서 Session Timeout 를 설정하는 우선 순위가 존재 한다. session.setMaxInactiveInterval() 프로그램내에서 time out 를 설정했을 경우 Web application 내의 WEB-INF/web.xml Tomcat 내의 conf/web.xml 실제로 Tomcat(conf/web.xml)내에 Default 로 설정되어 있는 것은 다음과 같다. < HttpSession 메서드 > getCreationTime() - 세션 생성 시간 getLastAccessedTime() - 마지막 요청 시간 setMaxInactiveInterval() - 최대허용시간 설정 (초) getMaxInactiveInterval() - 최대허용시간 invalidate() - 세션 제거 < 타임아웃 설정하기 > - 일정 시간 동안 요청이 없으면 세션을 제거한다  1. DD에서 전체 세션 타임아웃 설정       web.xml 1. DD에서 전체 세션 타임아웃 설정       web.xml <web-app ... >     <servlet>        ...

java 특정 디렉토리에 있는 파일 목록을 읽어내기, 정렬해서 가져오기

폴더 리스트 가져오기 String path="C:\"; File dirFile=new File(path); File []fileList=dirFile.listFiles(); for(File tempFile : fileList) {   if(tempFile.isFile()) {     String tempPath=tempFile.getParent();     String tempFileName=tempFile.getName();     System.out.println("Path="+tempPath);     System.out.println("FileName="+tempFileName);     /*** Do something withd tempPath and temp FileName ^^; ***/   } } 정렬해서 가져오기 import java.io.FileFilter; import java.io.IOException; import java.util.Arrays; import java.util.Date; import org.apache.commons.io.comparator.LastModifiedFileComparator; import org.apache.commons.io.filefilter.FileFileFilter; public class LastModifiedFileComparatorTest { public static void main(String[] args) throws IOException { File directory = new File("."); // get just files, not directories File[] files = directory.listFiles((FileFilter) FileFileFilter.FILE); System.out.println("Defaul...

dmesg 메시지 실시간으로 보기

참조사이트 http://imitator.kr/Linux/556 # tail -f /var/log/messages # tail -f |dmesg //기본 2초 단위로 갱신 된다. # watch "dmesg | tail -f" //1초 단위로 갱신하면서 보여준다. # watch -n 1 "dmesg | tail -f" // 보여주는 줄을 20으로 늘린다. (기본 10줄) # watch -n 1 "dmesg | tail -f -n 20"