2011-10-23 16 views
0

JavaScriptを使用しているサイトから情報を取得するアンドロイドアプリケーションを開発しています。JavaのAndroidプログラミングとJavaスクリプト

Javaスクリプト機能の1つをAndroidアプリで実行したいと考えています。

例:このサイトhttp://www.bgu.co.il/tremp.aspxには、javascript機能の下にある「次のページ」(ヘブライ語)があります。私は私のアプリを通して次のページに行きたい。

サイトに「次のページに移動」コマンドを送信するか、ボタンのonClickイベントをアクティブにするにはどうすればよいですか?

EDIT:このサイトの情報をXMLパーザ(サックスパーサー)を使用して取得しています。このサイトの次のページに移動して解析します。私は...今

答えて

0

OKにおけるWebViewのセクションで使用してJavaScriptをチェックアウト...「次へ」のページを抽出して、あなたが望むものは何でもそれをどうあなたの質問に答えることができます!

Javascriptエンジンがないので、解析されたページで何か「クリック」することはできません。これは単なるXMLドキュメントであり、テキストで構成されたノードの集合です。

この場合、ページングシステムが実際にどのように動作するかを検討し、Firebugのようなものでそのページを見ると、それは非常に簡単です。

ページングシステムは、「次へ」または「2」のようなページ番号をクリックすると、POST変数を設定してサーバーから同じページをロードするだけです。

キー変数は「__EVENTTARGET」です。これはASPにロードするページを示します(もちろんヘブライ語です)。

このページの他のすべてのPOST変数も渡す必要があります。これは、関連する値を持つすべてのINPUTです。 「 _EVENTTARGET」を渡すだけで、これを簡単に回避できるようにするために存在するように見える「_ EVENTVALIDATION」というものがあることがわかりました。

Fiddlerのようなツールはここでも便利です - NEXTをクリックすると、サーバーにPOSTされた内容が表示されます - あなたがしなければならないことは、あなたの呼び出しでそれを複製して、 - ロードするものが残るまで各ページでそれを繰り返す...

また、WebViewを使用するように切り替えることもできます。つまり、ページを読み込むとJavascriptエンジンがあり、「クリック」を自動化できます(ただし、どのように行うかはわかりませんが、他の答えはそれが可能であると言いますか?)

1

あなたは本当に、より完全に少し説明する必要があり、私は自分自身を明らかにした期待し

あなたがそのページを開いて、あなたのコードでそれを解析し、あなたはWebViewのが埋め込まれているか、あなただけ作成されていますユーザーの好みのWebブラウザでそのページを開くインテント?

後者の場合、あなたが示唆していることは間違いありません。

あなたは私はあなたがまだあなたのソリューションは、あなたの中にWebページをロードし、解析することであることを意味し

にあなたが望むようにページのDOMにアクセスすることができないかなり確信しているのWebViewを使用している場合コード - 今、私たちは、私はあなたがページを解析している知っている -

+0

私はXMLパーザ(サックスパーサー)を使用してこのサイトから情報を取得しています。このサイトの次のページに移動して解析します。 – kande

1
+0

Thanxだけど、WebViewを使用していないので助けにならないよ。 – kande

+0

うーん、WebViewメソッドaddJavaScriptInterfaceは、http://developer.androidが必要なものだと思うだろう。 com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object、java.lang.String) –