selenium獲取全部頁面的html


獲取 html

執行js得到整個HTML,這里得到的是純html文件

html = driver.execute_script("return document.documentElement.outerHTML")

獲取完整的網頁信息

一般一個網頁會包括 html、js、css 圖片、Flash動畫等文件,我們可以通過右鍵另存為的方式將網頁保存下來

保存下來的文件一般是一個 html 文件和一個資源的文件夾,文件夾內包括了css、js、圖片等資源文件。

selenium+pywin32實現網頁另存為

from selenium import webdriver
import time
import win32api
import win32con

driver = webdriver.Chrome()

driver.get("url")

win32api.keybd_event(17, 0, 0, 0)  # 按下ctrl
win32api.keybd_event(65, 0, 0, 0)  # 按下a
win32api.keybd_event(65, 0, win32con.KEYEVENTF_KEYUP, 0)  # 釋放a
win32api.keybd_event(83, 0, 0, 0)  # 按下s
win32api.keybd_event(83, 0, win32con.KEYEVENTF_KEYUP, 0)  # 釋放s
# win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)  # 釋放ctrl
win32api.keybd_event(13, 0, 0, 0)  # 按下enter
win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)  # 釋放enter
# 預估下載時間,后期根據實際網速調整
time.sleep(5)

mhtml

mhtml 是一種單一檔案網頁或網頁封存檔案,將一個多附件網頁(如包含大量圖片、Flash動畫、Java小程序的網頁)儲存為單一檔案,這種格式有時被簡稱為MHT。

將網頁存儲為mhtml文件可以使用 word 進行編輯,將資源文件和html文件整合在一起查看也比較方便

有一些瀏覽器不支持保存成mhtml文件,具體要看每個瀏覽器的設置。下面是以chrome瀏覽器為例:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--save-page-as-mhtml')
driver = webdriver.Chrome(chrome_options=options)

driver.get("url")

data = driver.execute_cdp_cmd('Page.captureSnapshot', {}).get('data')

with open(path, 'w+',newline='') as f:
    f.write(data)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM