Selenium保存网页为mhtml方法


MHTML即MIME HTML,归档网页,将样式和脚本全部集成到一个文件中。
Chrome Devtools Protcal API中包含了Page.captureSnapshot方法,可以获取到网页的mhtml格式内容。
我们使用Selenium的driver.execute_cdp_cmd()执行该命令后,将结果写入文件即可,示例代码如下。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.qq.com/')

# 1. 执行 Chome 开发工具命令,得到mhtml内容
res = driver.execute_cdp_cmd('Page.captureSnapshot', {})

# 2. 写入文件
with open('qq.mhtml', 'w', newline='') as f:   # 根据5楼的评论,添加newline=''
    f.write(res['data'])

driver.quit()

保存结果,如下图,可以使用浏览器打开。

更多的cdp方法可以参考 (chrome-devtools-protocol)[https://chromedevtools.github.io/devtools-protocol/]


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM