gpt4 book ai didi

java - WebView 自动填充表单

转载 作者:行者123 更新时间:2023-11-30 11:22:29 25 4
gpt4 key购买 nike

论坛上有很多专门针对我的问题的主题,但是所有的代码都在那里不起作用。

有一种形式:

<form name="forma1">
<input type="text" name="ulogin" size="20" maxlength="50" value="login">
</form>

对我不起作用的代码:代码1

webView.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished (WebView webView, String url)
{
webView.loadUrl("javascript:document.getElementById('ulogin').value='"+username+"';");
}
});

代码 2

  String username = "cristian";
webview.loadUrl("javascript:document.getElementById('ulogin').value = '"+username+"';");

代码 3

webView.loadUrl("javascript: {" +
"document.getElementById('ulogin').value = '"+uname +"';" +
"var frms = document.getElementsByName('forma1');" +
"frms[0].submit(); };");

但是打开页面后,表格却没有填写,这是什么问题?

最佳答案

我有两个建议:

  1. 检查您的 HTML - 您需要将输入元素的 id 属性设置为 ulogin

  2. 一般来说,我认为 onPageFinished 是用于此的错误回调。这意味着网络资源已完成加载,而不是 DOM 元素已加载。因此,当您的代码运行时,ulogin 元素可能还不存在。您能否尝试在 HTML 文档的 onload 事件的 JavaScript 接口(interface)回调[1] 中运行您的脚本?

[1] http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object , java.lang.String)

关于java - WebView 自动填充表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21672120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com