我试图制作一个程序,使用本地字符串变量填写在线登录。 以下是我到目前为止的情况:
web = (WebView) findViewById(R.id.webview);
WebSettings webSettings = web.getSettings();
webSettings.setJavaScriptEnabled(true);
web.getSettings().setUserAgentString("Mozilla/5.0 " +
"(Windows NT 6.2; " +
"WOW64) AppleWebKit/537.31 " +
"(KHTML, like Gecko) Chrome/20 " +
"Safari/537.31");
web.getSettings().setDefaultZoom(WebSettings.ZoomDensity.CLOSE);
web.loadUrl("http://ta.yrdsb.ca/yrdsb/");
web.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
String username="test";
String password="test";
view.loadUrl("javascript:document.getElementById('username').value = '"+username+"';document.getElementById('password').value='"+password+"';");
}
});
我的问题是这些字段没有被填写。我认为这个问题与id有关,因为从我所看到的情况来看,这个特定网站上的文本字段似乎没有与之关联的id。这就是用户名字段(没有id):
<input type="text" name="username" size="10" border="0">
所以我的问题是如何在没有用户名和密码字段的ID的情况下这样做,或者我只是遗漏了什么?
提前致谢。
答案 0 :(得分:1)
如果你没有任何身份证,你可以这样做:
document.getElementsByName("username")[0].value = "username";
您目前正在按ID要求,但该元素上没有任何ID。