WebView使用

2020-03-18  本文已影响0人  失足者

转载:https://www.jianshu.com/p/3c94ae673e2a

webView获取网页标签值
HTML DOM使用

获取html标签值:
方法1:

//在java代码中添加一个js接口用于回调内容

//添加JS回调接口
webview.addJavascriptInterface(new JavaScriptLocalObj(),"JS_Obj");
//@JavascriptInterface注释是必须的
public class JavaScriptLocalObj {
        @JavascriptInterface
        public void showSource(String str) {
            //可处理获取到的标签值
            LogUtils.e("HTML", "方法1:"+str);

        }
    }
//页面加载完成后再执行。注意JS语句调用的写法
webview.loadUrl("javascript:window.JS_Obj.showSource(document.querySelector('.data2').innerHTML)");

方法2:不使用loadUrl()方法,也无需添加js接口回调

webview.evaluateJavascript("document.querySelector('span.data2').innerHTML", new ValueCallback<String>() {
                                            @Override
                                            public void onReceiveValue(String value) {//这个方法value值是带双引号的
                                                LogUtils.e("HTML", "方法2:"+value);
                                            }
                                        });

两种方法的输出结果:


结果

注意:其中使用document.getElementsByTagName('span')[0].innerHTML也能获取到标签的值。
但是根据class获取document.getElementsByClassName("data2").innerHTML无法获取到标签值,Id也是一样。不过使用document.querySelector('span.data2')方法无论是标签,class,id都能获取到。

上一篇下一篇

猜你喜欢

热点阅读