簡體   English   中英

Java android編程和java腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM