在WebView Android中从网站显示图像验证码

时间:2018-07-22 18:43:17

标签: javascript android html webview

因此,基本上,我试图仅将网站的某些部分显示到我的WebView中。这些部分之一是网站提供的Image Captcha,每次打开页面时都会更改。我有两个想法可以将此内容显示到我的WebView中:

  1. 借助JavaScript:

public class NewUserActivity extends AppCompatActivity {


  @SuppressLint("SetJavaScriptEnabled")
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_new_user);
    final WebView webview = (WebView) findViewById(R.id.browser);
    webview.loadUrl("myWebSite.com");
    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setDomStorageEnabled(true);
    webview.setWebViewClient(new WebViewClient() {
      @Override
      public void onPageFinished(WebView view, String url) {
        webview.loadUrl("javascript:(function() { " +
          "var y = document.getElementById('idOfTheImageCaptcha').style.display='block';" +
          "})()");
      }
    });



  }

}

此代码无效。我不知道JS,所以我不知道要为style.display =''输入什么参数。有谁能告诉我要对此进行哪些更改才能使其正常工作?

  1. 冗长的人:

我的下一个想法是获取整个网页的HTML代码,并获取具有该特定ID的图像。该图像验证码的链接已经在HTML代码中。因此,我将使用此URL链接在使用Picasso库的ImageView中显示该验证码。但是考虑到大部分HTML  获取一件小东西所需的代码可能没有太大意义。

您能为此提供解决方案吗?甚至第三个想法(我想更好)都可以。我一直在搜索有关此内容,并且使用Jsoup的答案很多。但是,即使Jsoup也像第一个想法一样无效。

在此先感谢:)

0 个答案:

没有答案