2014-01-18 27 views
0

我試圖讓一個程序使用本地字符串變量填寫在線登錄。 這裏是我到目前爲止有:在WebView在線表單中填寫文本字段不用ID的

 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,還是我只是失去了一些東西?

在此先感謝。

回答

1

如果你沒有任何的ID,你可以這樣做:

document.getElementsByName("username")[0].value = "username"; 

您目前是按ID requresting但is'nt元素上的任何標識。

+0

謝謝,這工作完美。 – Noob

+0

嘿。你能請參考任何完整的例子。我之前沒有使用過這種代碼。 –

相關問題