Javascript 如何在Android Studio中的网络视图中自动填充网站字段/表单?
例如,我想自动填充Facebook的登录字段(电子邮件和密码)或谷歌的搜索字段。我已经回答了很多关于自动填充的问题,包括 这是我目前的代码,它在WebView中打开了网站,但没有填写任何内容。对于getElementById,我检查了facebook的电子邮件和密码字段,它们的ID是电子邮件和密码Javascript 如何在Android Studio中的网络视图中自动填充网站字段/表单?,javascript,java,android,android-webview,Javascript,Java,Android,Android Webview,例如,我想自动填充Facebook的登录字段(电子邮件和密码)或谷歌的搜索字段。我已经回答了很多关于自动填充的问题,包括 这是我目前的代码,它在WebView中打开了网站,但没有填写任何内容。对于getElementById,我检查了facebook的电子邮件和密码字段,它们的ID是电子邮件和密码 webView = (WebView) findViewById(R.id.webView1); webView.loadUrl("https://www.facebook.
webView = (WebView) findViewById(R.id.webView1);
webView.loadUrl("https://www.facebook.com");
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public void onPageFinished(WebView view, String url) {
String user = "udb";
String pwd = "abcdefg";
view.loadUrl("javascript:document.getElementById('email').value = '" + user + "';document.getElementById('pass').value='" + pwd + "';");
System.out.println("AUTOFILL");
}
});
它给了我这个错误
I/C:[信息:控制台(1)]“未捕获类型错误:无法设置null的属性'value',来源:(1)
不过,我对javaScript了解不多。我仍然无法让facebook正常工作,但我让谷歌登录和其他一些网站注册/登录。所以基本上你需要检查网站的元素(使用桌面上的谷歌浏览器),然后获得元素id 这是填写表单/字段的代码:
webView.loadUrl("javascript:(function() { document.getElementById('last_name').value = '" + lName + "'; ;})()");
这是单击按钮的代码:
webView.loadUrl("javascript:(function() { var z = document.getElementById('signInButton').click(); })()");
哦,我用我的手机来做这件事,因为用模拟器它什么也没做
编辑:事实上,我通过查看mobile.facebook.com网站让facebook发挥了一定的作用,但是没有电子邮件的ID,只有密码、登录按钮和一些其他元素。你知道如何在谷歌的网站上自动填写月份吗。我不能用你的方法改变它。