http://www.anddev.org/view-layout-resource-problems-f27/how-to-get-html-from-webview-t14738.html
구글에서 WebView html source 로 검색을 해보니 위와 같은 글이 발견 되었습니다.
하지만, 줘도...못먹는다는...속담이...딱이네요... 위에 글 마지막에 적절히 조립되고 실행되면,
잘 되꺼라는..말이 있지만...
실제.. 위의 코드 중에서 showHTML 메서드가 언제 어떻게 실행 될 수 있는 모르겠네요.
html 소스가 문자열로 저장되어 있고..그 중에서 원하는 문자열을 읽어오려고 하는데..
어떻게 showHTML 을 읽어야 할지 모르겠네요.
public class WebViewTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Webview objWebView = (WebView) findViewById(R.id.myWebview);
WebSettings settings = objWebView.getSettings();
settings.setPluginsEnabled(true);
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
objWebView.setWebViewClient(new WVClient());
objWebView.setWebChromeClient(new WebChromeClient());
objWebView.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT");
objWebView.loadUrl("http//www.google.com");
}
class MyJavaScriptInterface{
public void showHTML(String html){
String substring = "some keyword";
boolean found=false;
found=html.contains(substring);
System.out.println("html content is "+html);
if(found){
System.out.println("Keyword is found");
}
else{
System.out.println("Keyword not found");
}
}
}
web.setWebViewClient(new WebViewClient()
{
public void onPageFinished(WebView view, String url)
{
if(url.equals("http//www.google.com"))
web.loadUrl("javascript:window.HTMLOUT.showHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
}
}
요렇게 함 해보세요
페이지 로딩이 다되면 showHTML 호출
혹시 해결하셨다면 연락주세요ㅠㅠ
proin0312@gmail.com