5

htmlunit 2.11 zip をダウンロードしました。私はそれを抽出しました。次に、プロジェクトの libs フォルダーに貼り付けようとしました。libs フォルダーからビルド パスに追加しました。次に、アプリを実行しようとしているときに、このエラーが発生しました

conversion to dalvik format failed with error 1

次に、stackoverflowから、削除すると言ったことがわかりましたxalan xercesImpl xml-apis。私はそれらを削除しました。しかし、このエラーが発生します:

Error generating final archive: Found duplicate file for APK: about.html

エラーメッセージには、競合しているファイルも示されていました。その後、アプリをjetty-http jetty-io jetty-util jetty-websocket再度実行します。今回は警告が表示されます。私はそれらを無視しました。しかし、私のアプリはそれを言ってクラッシュしますclassNotFound

httpclientちなみに、 jarも削除しました。httpclientそれはすでにアンドロイドに組み込まれていると言われているからです。

これは私の問題です。誰か助けてくれませんか?アプリで htmlunit を使用したい

編集:

「私のプロジェクトに htmlunit を追加する方法」の手順を教えていただけると大変助かります。

編集2:

主に、ログイン後に取得したリンクがあります(Webビューからログインしています)。このリンクにより、簡単なページが表示されます。そのページには、テキストエリアと送信ボタンがあります。また、いくつかのJavaScriptもあります(送信ボタンを押すと、これらのJavaScriptが実行されると思います)。webview を使用して実行できますが、何らかの理由で webview を使用したくありません。送信ボタンを押すと、テキストエリアの値と隠しフィールドの値が既存の Cookie (webview からログインしたときに取得されます) で配信されます。私はwebviewなしでこれを行う必要があります。htmlunitのほかに他のオプションがありますか?? HttpClient、HttpUrlConnection について聞いたことがあります。もう1つ、送信すると別のページにリダイレクトされます。このリダイレクトされたページで何もする必要はありません。

注:この質問が私が以前に実際に尋ねたことと適切でない場合は、私に提案してください。新しい質問を投稿します。ありがとうございました

4

4 に答える 4

6

彼は HtmlUnit を Android プロジェクトに含めようとしているため、これは何も機能しません。HtmlUnit は Android では使用できない java.* および javax.* クラスを参照しているため、Android と互換性がありません。

Android用のバージョンが来ることを願っています。

于 2015-02-04T19:49:34.347 に答える
2

申し訳ありませんが、HTMLUNIT に対する私の希望はすべて失われました。:(私の目標を達成するために、HttpUrlConnectionとJsoupを使用しました...これは私にとってはうまくいきます。これが私のコードを回答に投稿した私の手順です。

于 2013-04-07T22:00:39.363 に答える
1

手順は次のとおりです。

  1. http://sourceforge.net/projects/htmlunit/files/htmlunit/2.11/から HtmlUnit の最新バージョンをダウンロードします。
  2. ダウンロードしたファイルを解凍する
  3. lib フォルダーに移動します --> htmlunit-core-js-2.11.jarを右クリックし、[コピー] を選択します。
  4. Eclicse でパッケージ エクスプローラーに移動します --> プロジェクトを選択します --> libs フォルダーを右クリックし、[貼り付け] を選択します
  5. 新しく追加されたファイルを右クリックし、[ライブラリとして追加...] をクリックしてプロジェクトを選択します。
  6. htmlunit-2.11.jarファイルについて、ステップ 3、4、および 5 を繰り返します。
  7. この 2 つのインポートをプロジェクトに追加します。

    com.gargoylesoftware.htmlunit.WebClient をインポートします。

    com.gargoylesoftware.htmlunit.html.HtmlPage をインポートします。

  8. プロジェクトをクリーンアップします。

htmlUnit の簡単な紹介については、このリンクhttp://www.aviyehuda.com/blog/2011/05/16/htmlunit-a-quick-introduction/も確認してください。

于 2013-02-15T00:27:41.787 に答える
0

答えるには遅すぎることはわかっていますが、うまくいけば、私の答えが、AndroidアプリでWebスクレイプしようとしている私のような他の初心者に役立ち、AndroidスタジオでhtmlUnitの実用的なソリューションのためにこのスレッドに出くわした. 以前のバージョンの htmlUnit (2.14) を使用しましたが、うまくいきました。Jsoup ではなく htmlUnit を試していたのはなぜですか? 私のターゲットWebページにはjavascript呼び出しがあり、完全に読み込まれたhtmlを提供していなかったためです。要するに、以前のバージョンの htmlUnit を使用してください。

于 2021-05-02T18:58:31.200 に答える