2

Web ページにアクセスし、検索語を入力して、その検索語に関する情報を取得するプロジェクトに取り組んでいます。検索語を入力するとリダイレクトが発生するため、呼び出しました

webClient.waitForBackgroundJavascript();

すべての JavaScript リダイレクトが完了すると、これは 0 を返すという考え方です。ただし、6 を返すと継続的にスタックしているようです。別の時間を実行すると、10 でスタックします。これが完了しない原因は何ですか? これまでに約 10 分間待機しましたが、Web ページは通常のブラウザーでほぼ瞬時に読み込まれます。

4

1 に答える 1

0

long 値をパラメーターとしてこの関数に渡してみましたか? 私はあなたが持っていると仮定していますが、念のため、このメソッドに渡された long 値は、まだ進行中の JavaScript バックグラウンド ジョブの数を返す前に、その時間 (ミリ単位) 待機します。したがって、次のことを行う場合:

webClient.waitForBackgroundJavascript(10000);

これは、10 秒後に、まだ進行中のバックグラウンド ジョブの数が返されることを意味します。特定の戻り値でスタックしている場合は、開始されたバックグラウンド プロセスが指定された時間内に終了していないことを意味します。

setInterval()JavaScript コード内の関数でループしているものがないことを確認してください。

参照用: HTMLUnit ドキュメント

于 2013-11-19T19:16:30.847 に答える