我怎样才能自动填充网站的字段形式,可在 WebView 在 Android studio吗?

发布时间: 2017/3/19 14:18:47
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想自动填充,例如 Facebook 的登录域 (电子邮件和密码) 或谷歌的搜索字段。我已经通过自动填充,包括很多的问题。

这是我的代码在时刻,开辟了在网站 WebView ,但不会填写任何东西。GetElementById 为视察了 facebook 的电子邮件和密码字段和其 ID 是通过电子邮件发送和传递。

    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");
        }
    });

它给了我这个错误

我 / 铬: [INFO:CONSOLE(1)]"未捕获的 TypeError︰ 无法设置 property 值为 null 则",源: (1)

我虽然不知道很多关于 javaScript。

解决方法 1:

好吧我还是上不了 facebook 上班,但我基本上你需要去检查网站的元素 (通过在桌面上使用谷歌 chrome 浏览器),然后去谷歌签到工作和一些其他网站注册/登录宏 element id;

这是要填写场形式的代码︰

    webView.loadUrl("javascript:(function() { document.getElementById('last_name').value = '" + lName + "'; ;})()");

这是代码,请单击 button :

    webView.loadUrl("javascript:(function() { var z = document.getElementById('signInButton').click(); })()");

哦,我用我的电话来做到这一点,因为与仿真器,它没有做任何事情。

编辑︰ 我居然得了 facebook 有点工作通过检查 mobile.facebook.com 网站,却没有 ID 的电子邮件,只有密码和登录 button 和一些其他元素。

赞助商