使用Android Studio我試圖在不是我的網頁的登錄表單中設置文本框的值。在WebView中使用js注入設置TextBox值
這是我使用的網頁上工作的web視圖:
final WebView webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
webView.setWebViewClient(new WebViewClient()
{
@Override
public void onPageFinished(WebView view, String url)
{
webView.loadUrl("javascript: document.getElementById('j_password').value = 'something'");
}
});
webView.loadUrl("http://sg18224.scuolanext.info/");
的問題是,當頁面已完成,而不是設置文本框的值加載,整個頁面變成白色,它只顯示字符串我試圖設置爲價值(在這種情況下「東西」)。 如果我有這樣的警報的JS行:
webView.loadUrl("javascript: alert(document.getElementById('j_password').value = 'something')");
它的作品!但也顯示我不想顯示的警報。
它的工作原理!謝謝! – Luca1092