我如何从Webview获取元素图像?

时间:2019-06-29 20:12:49

标签: javascript android webview

这是我学习基础后的第一个android应用

很多小时后,我仍然无法弄清

我正在尝试从网站中的特定元素(即验证码)的网络视图中获取屏幕截图

我怎么想?

1-将webview缩放到captcha元素,然后使用我认为的视口调整webview的大小,然后截取webview的屏幕截图

2-将元素放置在webview的中心,并在需要时在侧面添加额外的空间,然后调整webview的大小并拍摄屏幕截图

3-在@Override onPageFinished中使用javasript截屏,将其保存为png或jpg文件,然后在imageView中使用它

4-对特定元素(不是整页)上的webview截屏

使用javascript将Web视图5缩放到元素,然后截图

6-隐藏所有内容,但仅隐藏验证码图像,然后调整Webview和屏幕截图的大小

我尝试了5次

@Override
    public void onPageFinished(WebView view, String url, Bitmap favicon) {

        view.loadUrl("javascript: (function(){ var divFirst = document.evaluate('/html[1]/body[1]/table[1]/tbody[1]/tr[1]/td[1]/table[1]/tbody[1]/tr[1]/td[1]/div[1]/blockquote[1]/table[1]/tbody[1]/tr[2]/td[1]/form[1]/table[1]/tbody[1]/tr[4]/td[2]/img[1]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
    divFirst.style.visibility = 'visible';
    divFirst.style.display = 'block';
    divFirst.tabIndex = "-1";
    divFirst.focus();

    })();");

}

但是我在divFirst中出错

  

无法解析符号

所以我认为我说错了

任何帮助将不胜感激,我更喜欢使用4,但是任何解决方法都可以接受

这是网站和元素

https://www4.inscription.tn/ORegMx/servlet/AuthentificationEtud?ident=cin

enter image description here

0 个答案:

没有答案