自动填充字段在web视图android
Autofill fields in web view android
我正在创建一个在webview中显示外部网站的应用程序。我想用我的自定义值填充该web视图的用户名和密码字段,但我没有找到任何成功这样做:
这是网站页面的源代码片段:
<form name="LoginForm" method="post" action="https://xyz" onsubmit="document.LoginForm.Submit.disabled=true;">
<input type=hidden name="XXX" value="@@@@www@">
<input type=hidden name="YYY" value="xyz.0">
<tr>
<td width="50%">Username
<font class=starmand align="absmiddle">*</font></td>
<td width="50%"><input type="text" name="userName" class="txtfld" autocomplete="off" size="12"/>
</td>
</tr>
<tr>
<td>Password
<font class=starmand align="absmiddle">*</font></td>
<td><input type="password" name="password" size="12" value="" class="txtfld">
</td>
</tr>
<tr>
<td align="right" colspan="2"><input type="submit" name="Submit" value="GO" onclick="return xyz();" class="btnSubmit"></td>
</tr>
</table></td>
</table>
</tbody>
</form>
下面是我的Android代码片段:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
browser = (WebView)findViewById(R.id.webView1);
browser.setWebViewClient(new MyBrowser());
browser.getSettings().setLoadsImagesAutomatically(true);
browser.getSettings().setJavaScriptEnabled(true);
browser.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
browser.loadUrl(AppConstants.LOGIN_URL);
}
private class MyBrowser extends WebViewClient {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
String TAG="onPageFinished";
Logger.i(TAG,"Called..");
if(url.equals(AppConstants.LOGIN_URL)) {
Logger.i(TAG,"Login page load done..");
updateStatus("Login Page Loaded..!",TYPE_GREEN);
browser.loadUrl(getLoginScript("USER_NAME","PASS_WORD"));
}
}
}
public static String getLoginScript(String userName,String password){
return "javascript: {" +
"document.getElementsByName('userName').value = '"+userName +"';" +
"document.getElementsByName('password').value = '"+password+"'; };";
}
在运行上述代码时:
-I得到一个新的web页面的文本为USER_NAME
请帮帮我!
我需要让这个工作…
看起来您正在将其加载为默认的"USER_NAME"
。对我来说,如果用文本"USER_NAME"
填充字段会更有意义,因为您将该字符串作为如下参数传递:
browser.loadUrl(getLoginScript("USER_NAME","PASS_WORD"));
相关文章:
- 如何在Ionic Android中将Javascript注入到web视图中
- 无法在Windows 10 Cordova应用程序中从Web视图进行ajax调用
- 如何将Web视图添加到Appgyver中的视图中
- Web视图中的远程网站是否可以与Phonegap结合使用
- 将多个事件动态添加到多个 Web 视图
- 在Android Web视图中使用静态文件作为模板
- I'当我试图将java脚本加载到web视图中时,我得到了一个空白屏幕
- JavaFX Webview与Android的兼容性如何'的Web视图
- 用程序更改Electron中Web视图的内容
- 从Web视图上显示的页面部分获取第一个元素
- 在Web视图中触发后退按钮
- 在 Web 视图上自动启动 html5 视频,在 Android 4.2.2 上不起作用
- 从 JavaFX Web 视图调用 Java 方法
- Appgyver 类固醇,Web 视图中更新的对象不会显示
- 在 UWP Web 视图中使用 javascript 访问本地文件
- 将本地 Web 应用包含在 react 本机 Web 视图中
- 阻止 Web 视图发出定期请求
- 在 Web 视图中启用 Javascript
- 在人行横道 Web 视图中打开网站
- 从加载的 Web 视图中获取 HTML 代码