我刚接触Android Studio,但是我已经尝试了很多事情,现在我不得不问。 我想用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>
但是我无法使它正常工作,并且“模拟按键”似乎也不是一种可用的方法... 有人有想法吗?
答案 0 :(得分:0)
问题可能与您的网络视图设置有关。在Webview初始化之后,放置以下代码。
WebSettings settings = myWebView.getSettings();
settings.setDomStorageEnabled(true);
settings.setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient()());
myWebView.setWebChromeClient(new WebChromeClient());
如果要从JS调用Java端的某些方法,则需要使用 JavascriptInterface 。看看this link。
关于这一行: document.getElementByTagName ,您正在调用的函数不存在,请尝试以下操作:
document.getElementsByTagName('some_name')[0].value = 'some_value';