Python实现对网页进行截图

xiaohai 2021-05-25 15:35:36 2630人围观 标签: Python 
简介很想将一个网页页面作为电脑桌面背景,但是目前系统好像不支持,所以就采用把网页进行截图保存,然后更换电脑的桌面背景,这样通过定时任务可以实现桌面背景切换。

参考文档:

  1. Python自动截图html页面
  2. 使用python实现网页截图的两种方式

本文主要使用selenium+phantomjs实现网页截图

1、下载phantomjs并解压缩

访问http://phantomjs.org/download.html

支持win,linux,mac os等不同系统安装

2、安装selenium
pip install selenium
3、代码实现
from selenium import webdriver

brower = webdriver.PhantomJS(executable_path="phantomjs.exe")
#brower.page_source.encode('utf-8').decode()

#要截屏的网页
brower.get("file:///C:/Users/Administrator/Desktop/index2.html")

#实现截图窗口最大化,也可使用brower.viewportSize={'width':1024,'height':800}对页面进行自定义调整
brower.maximize_window()

#保存路径,图片只支持png格式,设置成jpg其实也可以保存出来
brower.save_screenshot("123.png")

brower.quit()
4、运行程序

查看效果即可

注意,如果运行出现如下错误

UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '

解决方案:selenium版本降级
通过pip show selenium显示,默认安装版本为3.141.0
将其卸载pip uninstall selenium,重新安装并指定版本号pip install selenium==2.48.0,后续在进行运行就不会出现提示了。