如何在webview中解析html图像以显示imageview?

时间:2014-06-06 18:25:10

标签: android parsing webview imageview captcha

我想在webview中获取html图像并显示到imageview。

我不想要解决方案以及图片下载的URL。

我尝试了以下内容。

public class WebViewClientFix extends WebViewClient
{
    private Bitmap bmpCaptcha;
    private Context context;

    @Override
    public void onReceivedSslError(WebView view, SslErrorHandler handler,SslError error) 
    {
        handler.proceed();
    }

    @Override
    public void onPageFinished(WebView view, String url) 
    {
         super.onPageFinished(view, url);
    }

    @Override
    public void onLoadResource(WebView view, String url) 
    {
        super.onLoadResource(view, url);
    }

        public Bitmap getBmpCaptcha() 
        {
        return bmpCaptcha;
    }

    public void setBmpCaptcha(Bitmap bmpCaptcha) 
    {
        this.bmpCaptcha = bmpCaptcha;
    }

    public Context getContext() {
        return context;
    }

    public void setContext(Context context) {
        this.context = context;
    }
}

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    webview = (WebView)findViewById(R.id.webView1);
    imageView =   (ImageView)findViewById(R.id.imageView1);

    webview.getSettings().setUseWideViewPort(true);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setAllowFileAccess(true);
    webview.getSettings().setAppCacheEnabled(true);
    webview.getSettings().setLoadsImagesAutomatically(true);
    webClinent = new WebViewClientFix();
    webClinent.setContext(this);
    webview.setWebViewClient(webClinent);
    webview.loadUrl("https://xxxxx.tr/login");      
}

我应该如何解决问题?

感谢

2 个答案:

答案 0 :(得分:1)

获取页面,解析其内容(jsoup可能会有所帮助),识别您想要的图像并获取它们。

答案 1 :(得分:0)

这里是样品 https://github.com/ismailkocacan/Android-Captcha-Handler/blob/master/test/src/com/test/captchahandler/MainActivity.java

  • 我在webview中使用html5画布绘制相同的验证码图像。 (JavaScript端)
    • 稍后将画布图像转换为base64图像字符串(JavaScript端)
    • 将base64图像字符串发送到android端并转换为字节图像。