2016-12-24 2 views
0

私はSelenium/PhantomJS/Pythonを使ってスクレーパーを書きました。私はURLを開くために 'get'メソッドを使用し、ページ読み込みのタイムアウトとして数秒間です。セレン/ファントムズ:ナビゲーションが行われたかどうかを確認するには?

しかし、時々私は 'get'メソッドがURLを開かないことがわかりました。その結果、私がウェブページを解析すると、私は以前のスクレープと同じ結果になります。

この場合、ページがナビゲートされているか、同じページにとどまっていたとしても、いつURLを開くかを教えてください。これを行う正しい方法は何ですか?

答えて

0

新しいページのURLが異なると仮定すると、ブラウザ/ドライバのattribute current_urlを確認できます。

+0

こんにちは、これについてもっと知りたいと思います。どの時点で、この属性current_urlが新しいURLに設定されていますか?サーバーからの応答を受信し始めたとき、またはページが完全にロードされた後?これは、低速ネットワーク環境で知るのに役立ちます。 –

+0

JavaScriptに依存している多くのページでは、ページが「完全に読み込まれている」ということはありません。私にとっては(私のプログラムでは1〜2つの異なるページしか擦っていませんでしたが)、これは決して重要ではありませんでした。しかし、あなたは新しい質問を(たとえ関連しても)答えにコメントとして投稿すべきではありません。新しい質問を投稿すると、**あなたが試したことが**記述され、なぜ自分の努力で自分の答えを判断できないのですか?それがこのサイトの仕組みです。いくつかのフォーラムの代用としてコメントを使用しようとしないでください。 – Anthon

+0

Anthon、答えに感謝します。このウェブサイトのツアーページに記載されているコメントの使用方法は次のとおりです。「コメントを使用してより多くの情報を求めたり、質問や回答を明確にする」私の質問はあなたの答えを明確にすることを意図していたので、私はそれが適切だと考えます。私はあなたの提案を試み、戻ってきます。ありがとう。 –

関連する問題