Android获取营业执照的信息,web中提取某个字段

甲方大大发来贺电,要求扫码提取营业执照中的信用代码和其他信息,头大归头大,安排!

写到一半发现个问题,应该在这里交代一下,营业执照分为旧版和新版,旧版url里不包含信用代码字段,新版url中含有信用代码字段,也就是UUID,新版的可以直接截取,下面主要讲一下旧版的怎么提取

某企业的营业执照信息,通过扫描二维码获得

现在的需求是从上面的链接中提取出自己想要的字段,笔者这里需要里面的统一社会信用代码,继续

1.按f12通过前端代码拿到JS Path(如图所示)

copy出来的类似这种document.querySelector("#boxShadow1 > ul > li.icon1 > span"),这里可根据自己的使用场景来复制path,比如iOS可以用XPath

2.根据url提取信用代码code,代码如下

WebSettings webSettings =webView.getSettings();//webView可以在布局里随便写一个宽高设置为0或者gone

webSettings.setJavaScriptEnabled(true);//是否允许JavaScript脚本运行,默认为false。设置true时,会提醒可能造成XSS漏洞

webView.loadUrl(url);//加载

webView.setWebViewClient(new WebViewClient() {

@Override

    public void onPageFinished(WebView view, String url) {

super.onPageFinished(view, url);

//web加载完成后,通过evaluateJavascript()方法接收JS函数的返回值

//将步骤1里的代码复制过来,加上.textContent或者innerText后缀来获取里面的内容

        webView.evaluateJavascript("document.querySelector(\"#boxShadow1 > ul > li.icon1 > span\").textContent", new ValueCallback() {

@Override

            public void onReceiveValue(String s) {

if (s !=null && !s.equals("null")) {//非空判断

String code = s.replace("\"", "");//去掉多余的""

                }

Log.i("zxd", "断点:" + s);//打印,搞定

            }

});

    }

});

至此,功能完成

如果本文帮助到了你,还请点个赞支持一下,感谢~

你可能感兴趣的:(Android获取营业执照的信息,web中提取某个字段)