ホームページ  >  に質問  >  本文

网页爬虫 - Python+Selenium+PhantomJs爬虫,如何取得新打开页面的源码?

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

高洛峰高洛峰2740日前769

全員に返信(2)返信します

  • 黄舟

    黄舟2017-04-18 10:23:55

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

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

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

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:23:55

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

    リーリー

    返事
    0
  • キャンセル返事