[Android/Webview]안드로이드 웹뷰에서 html 코드 가져오기

2023. 8. 26. 07:20Android/UI-UX 디자인

728x90
반응형

1. WebView를 초기화하고 웹 페이지 로드

javaCopy code
WebView webView = findViewById(R.id.webView); // 웹뷰 레이아웃과 연결

// WebView 설정
webView.getSettings().setJavaScriptEnabled(true); // JavaScript 활성화
webView.setWebViewClient(new WebViewClient()); // WebViewClient 설정

// 웹 페이지 로드
webView.loadUrl("https://example.com"); // 웹 페이지의 URL을 여기에 입력

 

2. WebViewClient를 사용하여 페이지 로드 완료 후 HTML body 얻기

javaCopy code
webView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url) {
				// 페이지 로딩이 완료되면 현재 페이지의 HTML 코드를 가져옴
        view.loadUrl("javascript:window.Android.receiveHTML(document.documentElement.outerHTML);");
        // 페이지 로딩이 완료된 후에 HTML body를 가져옴
        view.loadUrl("javascript:window.Android.getBody(document.getElementsByTagName('body')[0].innerHTML);");
    }
});

// JavaScript에서 Android와 상호 작용할 수 있도록 WebView에 JavaScript 인터페이스 추가
webView.addJavascriptInterface(new JavaScriptInterface(), "Android");

 

3. JavaScript 인터페이스 정의 및 HTML body를 받아 처리하기

javaCopy code
public class JavaScriptInterface {
		@JavascriptInterface
		    public void receiveHTML(String html) {
		        // HTML 코드를 처리하거나 출력
		        Log.d("HTML Code", html);
		    }
		}

    @JavascriptInterface
    public void getBody(String htmlBody) {
        // HTML body를 처리하거나 출력
        Log.d("HTML Body", htmlBody);
    }
}

 


 

  • 번외: 안드로이드 인터넷 브라우저에서 html 소스 보기
view-source:https://{url}

 

 

728x90
반응형