python获取网页canvas图片并添加至excel中

canvas是目前主要流行的网页图片制作元素,以下图为例,图片元素中仅包含canvas的画布信息,无法得到其中具体的数据。
此处介绍如何保存图片,想得到具体数据可查看主页另一篇文章。请添加图片描述可以先将图片信息保存为base64格式数据信息,再解码为byte形式保存至计算机中。

js = f'''return document.getElementsByTagName("canvas")[{0}].toDataURL("image/png");'''#数字表示第几个canvas
base64str = driver.execute_script(js)
page=base64str.split(',')[1]#去除前缀无用信息
imagedata = base64.b64decode(page)
with open(path+'\\'+"canvas.png", "wb") as f:#path是存放文件路径f.write(imagedata)

当有多个canvas图片,也可使用document.getElementByid/name()等方法精确定位,保存后图片如下:
在这里插入图片描述然后是创建excel文档,我这里使用的是openpyxl库

import openpyxl,os
from openpyxl.drawing.image import Image
import Pillow#先导入这个包,运行时再删除这行代码,否则会报错
wb=openpyxl.Workbook()#使用Workbook创建Excel文件
sheet=wb['Sheet']#指定当前sheet页
os.chdir(path)#指定程序的搜索路径
img=Image("canvas.png")#图片信息用Image获取
img.width,img.height=(280,260)#设置图片的宽高
sheet.add_image(img,'A1')#选择插入位置,以A1为例
wb.save(path+'\\'+'canvas.xlsx')#保存excel
wb.close()#关闭excel

运行结果如下:
在这里插入图片描述
可以看到此时图片是贴在excel中,并以A1为起始位置,并不是只占据A1单元格。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部