久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

網頁爬蟲 - Python+Selenium+PhantomJs爬蟲,如何取得新打開頁面的源碼?

瀏覽:119日期:2022-09-13 10:39:57

問題描述

我在做一個python爬蟲,使用了selenium庫和phantomjs瀏覽器。我在一個網頁中觸發了一個click事件打開了一個新的網頁,然后我用browser.page_source得到的卻是原來那個網頁非新打開網頁的源碼,請問我該如何取得新打開頁面的源碼呢?

問題解答

回答1:

如果鏈接打開了一個新標簽頁的話,你的driver還是下默認使用的還是當前窗口,

Alternatively, you can pass a “window handle” to the “switch_to_window()” method. Knowing this, it’s possible to iterate over every open window like so:

for handle in driver.window_handles: driver.switch_to_window(handle)

比如,如果你的瀏覽器有幾個標簽頁,那么window_handles就保存了對應這幾個標簽頁對應的實例對象,所以如果你當前只打開了一個網頁,那么你新打開的頁面就是 window_handles[1]轉換到那個頁面后,再獲取源碼。

回答2:

如果是在當前窗口打開,有可能因為新頁面還沒有加載完成,到時拿不到新頁面的url和數據,這里可以使用等待,并設置一些條件,確保新頁面加載完成再進行操作,代碼如下:

from selenium.webdriver.support.ui import WebDriverWait# 等待新頁面生成WebDriverWait(self.browser, 5).until( expected_conditions.presence_of_element_located((By.ID, 'username') )

標簽: Python 編程
主站蜘蛛池模板: 本溪市| 漳州市| 通城县| 通化市| 中卫市| 香港| 新乐市| 资源县| 蕲春县| 姚安县| 和林格尔县| 夏邑县| 泗阳县| 当阳市| 孟津县| 敖汉旗| 石屏县| 紫金县| 隆昌县| 惠东县| 缙云县| 黎城县| 黑龙江省| 鹤岗市| 沂源县| 竹北市| 襄樊市| 闽侯县| 广南县| 灵璧县| 伊吾县| 灵石县| 南通市| 德阳市| 噶尔县| 九寨沟县| 宜昌市| 郑州市| 宁阳县| 隆子县| 张家界市|