小编典典

用python脚本拍摄打开的网站的屏幕截图

python

我需要编写一个python脚本来打开一个网站,当该网站完全打开时,它将截取已打开网站的屏幕截图。

我这样写:

import webbrowser
import wx

wx.App()
link = "http://stackoverflow.com/questions"
webbrowser.get('firefox %s').open_new_tab(link)
screen = wx.ScreenDC()
size = screen.GetSize()
bmp = wx.EmptyBitmap(size[0], size[1])
mem = wx.MemoryDC(bmp)
mem.Blit(0, 0, size[0], size[1], screen, 0, 0)
del mem
bmp.SaveFile('screenshot.png', wx.BITMAP_TYPE_PNG)

它仅在firefox中打开一个新标签,但不截取屏幕截图:(

我希望解决方案是跨平台的。谢谢你的帮助:)

编辑:

这里的主要问题是脚本完全打开了我的网页之前就拍照了。 如何解决这个问题?


阅读 204

收藏
2021-01-20

共1个答案

小编典典

这个解决方案是相当跨平台的,但是如果您试图显示一个在桌面上打开的带有菜单/工具栏等的网页,那不是您想要的。

您可以使用SeleniumHQ来自动化您选择的浏览器,让该浏览器呈现页面,然后获取呈现的页面的完整图像-即,不仅仅是屏幕上显示的页面部分的屏幕截图。然后,您可以相应地进行裁剪。

2021-01-20