2012-02-24 5 views
0

私は初心者の質問があります:Mozillaでクローラ(〜1000 ウェブページ)を書きたいのですが、あまりにも頻繁に、ウェブサイトの読み込みに問題があり、ページロードがありません。 - > waitForPageLoad()メソッドがクローラを停止します どうすればいいですか?クローラとMozMill

+0

複数のスレッドを実行していますか? – Kiril

答えて

1

waitForPageLoadメソッドがブロックしています。これは、メソッドの実行が完了するまで、現在実行中のスレッドがブロックされることを意味します。アプリケーションのブロックを停止するには、次の2つの方法があります。

  1. タイムアウトを指定します。
  2. 複数のスレッドを実行します。

documentation on waitForPageLoadは、タイムアウト値があることを示し、その合理的な何かにタイムアウトを設定し、機能はすぐにページがロードされているか、タイムアウトの期限が切れているとして返します。

void waitForPageLoad(
    in DOMDocument document, 
    in int timeout, 
    in int interval 
); 

2番目の選択肢は複数のスレッドを実行することです。それはとにかく便利です。各スレッドは、ページをロードし、処理し、(ページの待ち行列から)ロードする別のページを選択することを任されます。