美文网首页
Android获取营业执照的信息,web中提取某个字段

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

作者: 啟风了 | 来源:发表于2020-05-28 14:54 被阅读0次

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

    写到一半发现个问题,应该在这里交代一下,营业执照分为旧版和新版,旧版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中提取某个字段

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