网页爬虫 - Python+Selenium+PhantomJs爬虫,如何取得新打开页面的源码?
高洛峰
高洛峰 2017-04-18 10:21:55
0
2
808

我在做一个python爬虫,使用了selenium库和phantomjs浏览器。我在一个网页中触发了一个click事件打开了一个新的网页,然后我用browser.page_source得到的却是原来那个网页非新打开网页的源码,请问我该如何取得新打开页面的源码呢?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(2)
黄舟

リンクが新しいタブを開いた場合でも、ドライバーはデフォルトで現在のウィンドウを使用します。

あるいは、「ウィンドウ ハンドル」を「switch_to_window()」メソッドに渡すこともでき、次のように、開いているすべてのウィンドウを反復処理することができます。 リーリー

たとえば、ブラウザに複数のタブがある場合、window_handles はこれらのタブに対応するインスタンス オブジェクトを保存します。そのため、現在開いている Web ページが 1 つだけの場合、新しく開かれたページは window_handles[1 ] になります。
そのページに切り替えた後、ソースコードを取得します。

いいねを押す +0
Peter_Zhu

現在のウィンドウで開かれている場合は、新しいページがまだ読み込まれていない可能性があり、それまでに新しいページの URL とデータを取得できない可能性があります。ここで wait を使用し、いくつかの条件を設定して確実に取得することができます。続行する前に新しいページが読み込まれます。コードは次のとおりです:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート