[英]Java android programming and java script
我正在開發一個Android應用程序,它從使用JavaScript的網站獲取其信息。
我想通過我的Android應用程序運行其中一個java腳本函數。
例如:這個網站http://www.bgu.co.il/tremp.aspx底部(希伯來語)有“下一頁”,javascript函數可以。 我想通過我的應用程序進入下一頁。
如何向網站發送命令“移動到下一頁”或激活按鈕的onClick事件?
編輯 :我正在從這個網站獲取信息,使用XML解析器(sax解析器),我想到達這個網站的下一頁,以便解析它。 我希望我現在明確表達自己
你真的需要更充分地解釋一下......
您是打開該頁面並在代碼中解析它,是否嵌入了WebView,或者只是創建一個Intent,在用戶首選的Web瀏覽器中打開該頁面?
如果是后者,那么你絕對不能做你所建議的。
如果你使用的是WebView,我很確定你仍然無法以你想要的方式訪問頁面的DOM
這意味着您的解決方案是在代碼中加載和解析網頁 - 提取“下一頁”,然后根據您的意願進行操作...
查看Android開發人員指南中的在WebView中使用JavaScript部分
好的 - 現在我們知道您正在解析頁面我可以嘗試回答您的問題!
你不能在解析的頁面上“點擊”某些內容,因為你沒有Javascript引擎 - 它只是一個XML文檔 - 由文本組成的節點集合。
在這種情況下,您需要確定分頁系統的實際工作方式 - 並查看Firebug之類的頁面使得這非常簡單。
分頁系統通過FORM POST機制工作 - 當您單擊'Next'或頁碼如'2'時,它只是從服務器加載相同的頁面,但設置了POST變量。
關鍵變量是“__EVENTTARGET” - 它告訴ASP加載哪個頁面(當然是希伯來語)。
問題是你需要從這個頁面傳遞所有其他POST變量 - 這是每個INPUT與它的相關值。 我注意到有一個名為“_ EVENTVALIDATION”的東西似乎存在,只是為了阻止人們通過傳遞“ _EVENTTARGET”來輕松解決這個問題 。
像Fiddler這樣的工具在這里也很有用 - 當你單擊NEXT時它會顯示POST到服務器的內容 - 你所要做的就是在你的調用中復制它再次加載頁面然后你有下一頁 - 然后重復一遍每個頁面,直到沒有任何東西可以加載...
或者,您可以切換到使用WebView - 將頁面加載到那意味着它確實有一個Javascript引擎並且您可以自動化“點擊”(雖然我不知道如何做到這一點的具體細節,其他答案暗示這有可能嗎?)?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.