[英]submit form data programmatically android (data lost)
我正在為自己制作一個應用程序,以查看我的大學課程(已滿)何時可用。
我需要我的應用程序能夠以編程方式將信息輸入“類搜索”表單並按下提交按鈕,以便我可以檢查是否有任何類顯示為打開。
以下是表格的網站: https : //css.nevada.unr.edu/psc/rncssprd/EMPLOYEE/HRMS/c/COMMUNITY_ACCESS.CLASS_SEARCH.GBL
到目前為止,我可以將數據輸入到表單中,並在Webview中查看它。 問題是,當我有程序時,單擊提交按鈕沒有任何反應。 好吧,實際上它確實搜索了我提交的先前數據丟失並且它在表單中沒有值搜索。
到目前為止這是我的代碼:
public class Main extends Activity{
String URL = "https://css.nevada.unr.edu/psc/rncssprd/EMPLOYEE/HRMS/c/COMMUNITY_ACCESS.CLASS_SEARCH.GBL";
WebView mWebview;
int noRepeat = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
new FetchItemsTask().execute();
}
private class FetchItemsTask extends AsyncTask<Void,Void,Boolean> {
@Override
protected void onPreExecute() {
}
@Override
protected Boolean doInBackground(Void... params) {
// TODO Auto-generated method stub
return true;
}
@Override
protected void onPostExecute(Boolean result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
mWebview = (WebView ) findViewById(R.id.webView1);
// load login url
mWebview.loadUrl(URL);
//mWebview.setVisibility(View.INVISIBLE);
mWebview.getSettings().setJavaScriptEnabled(true);
mWebview.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
// first time go to search page
Toast.makeText(getApplicationContext(), "done loading login, pressing button", Toast.LENGTH_SHORT).show();
mWebview.loadUrl("javascript: {" + "document.getElementById('SSR_CLSRCH_WRK_SUBJECT$0').value = '"+"temp1"+"';" +
"document.getElementById('SSR_CLSRCH_WRK_CATALOG_NBR$1').value = '"+"temp2"+"';" +
"document.getElementsByName('CLASS_SRCH_WRK2_SSR_PB_CLASS_SRCH')[0].click();" +
"};" ); // if I take out the click here the form will have temp1 and temp2 entered and everything fine, but it clicks temp1 and temp2 get cleared before it clicks some reason
}
});
}
}
感謝任何幫助,我很感激。 表格位於上方的網站,如果您需要查看它。
我懷疑不支持document.getElementsByName
。 我建議使用document.getElementById
因為鏈接(按鈕)具有“id”屬性。
代替
document.getElementsByName('CLASS_SRCH_WRK2_SSR_PB_CLASS_SRCH')[0].click();
:
采用:
document.getElementById('CLASS_SRCH_WRK2_SSR_PB_CLASS_SRCH').click();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.