1.首先要设置setJavaScriptEnabled为true,使用webview支持js
2.使用js脚本的document.getElementById找到用户名和密码输入框,并模拟输入用户名和密码的内容,然后找到提交按钮并模拟click点击。注意:js必须写成一个函数(示例代码中的jsLogin函数)运行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
private void initViews() { mWebView = mRootView.findViewById(R.id.webView); //支持javascript mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setDomStorageEnabled(true); // 设置可以支持缩放 // mWebView.getSettings().setSupportZoom(true); // 设置出现缩放工具 // mWebView.getSettings().setBuiltInZoomControls(true); //扩大比例的缩放 mWebView.getSettings().setUseWideViewPort(true); //自适应屏幕 mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); mWebView.getSettings().setLoadWithOverviewMode(true); //如果不设置WebViewClient,请求会跳转系统浏览器 mWebView.setWebViewClient(new ZlWebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return false; } @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { return false; } @Override public void onPageFinished(final WebView view, String url) { super.onPageFinished(view, url); mCurrentUrl = view.getUrl(); if(mServerConfig != null) { view.loadUrl("javascript:function jsLogin(){document.getElementById('username').value='admin'; " + "document.getElementById('password').value='admin'; " + "document.getElementById('btnsubmit').click();}"); view.loadUrl("javascript:jsLogin()"); } } }); } |