因此,基本上,我试图仅将网站的某些部分显示到我的WebView中。这些部分之一是网站提供的Image Captcha,每次打开页面时都会更改。我有两个想法可以将此内容显示到我的WebView中:
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 =''输入什么参数。有谁能告诉我要对此进行哪些更改才能使其正常工作?
我的下一个想法是获取整个网页的HTML代码,并获取具有该特定ID的图像。该图像验证码的链接已经在HTML代码中。因此,我将使用此URL链接在使用Picasso库的ImageView中显示该验证码。但是考虑到大部分HTML 获取一件小东西所需的代码可能没有太大意义。
您能为此提供解决方案吗?甚至第三个想法(我想更好)都可以。我一直在搜索有关此内容,并且使用Jsoup的答案很多。但是,即使Jsoup也像第一个想法一样无效。
在此先感谢:)