我是Android studio的新手,但我已经尝试了很多东西,现在我只需要问一下。 我想用安卓工作室填写一份 ASP.NET 网站表格。 "经典的"Javascript方法在这里似乎不起作用。
myWebView.loadUrl("javascript: document.getElementByTagName('Benutzername').value = 'test'");
以及
myWebView.loadUrl("javascript:document.getElementByName('<%= Benutzername.ClientId %>').value = '"+username+"';");
不起作用:/
输入字段的 HTML 文本为:
<input name="Benutzername" type="text" style="text-align: center; width:120px;border:solid 1px #6699CC;" onkeypress="{if (event.keyCode == 13){document.form1.Passwort.focus()};}" value="">
在源代码中,我可以找到以下代码:
<td width="109" height="30"><div align="right" class="Stil12"><font face="Arial, Helvetica, sans-serif"><font size="3"><font size="2">Passwort:</font></font></font></div></td>
<td width="126"><input name="Passwort" type="password" style="text-align: center; width:120px;border:solid 1px #6699CC;"
onKeyPress="{if (event.keyCode == 13){if (Feldpruefung()) submit();};}" value="">
</td>
但我就是无法让它工作,而且"简单按键"似乎也不是一种可用的方法...... 有人有想法吗?
问题可能与您的 Web 视图设置有关。在初始化 Web 视图后放置以下代码。
WebSettings settings = myWebView.getSettings();
settings.setDomStorageEnabled(true);
settings.setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient()());
myWebView.setWebChromeClient(new WebChromeClient());
如果你想从JS调用Java端的某个方法,你需要使用JavascriptInterface。看看这个链接。
关于这一行:document.getElementByTagName,你调用的函数不存在,试试这个:
document.getElementsByTagName('some_name')[0].value = 'some_value';