美文网首页
WebView使用

WebView使用

作者: 失足者 | 来源:发表于2020-03-18 16:49 被阅读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都能获取到。

    相关文章

      网友评论

          本文标题:WebView使用

          本文链接:https://www.haomeiwen.com/subject/cekcyhtx.html