我需要编写一个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中打开一个新标签,但不截取屏幕截图:(
我希望解决方案是跨平台的。谢谢你的帮助:)
编辑:
这里的主要问题是脚本完全打开了我的网页之前就拍照了。 如何解决这个问题?
这个解决方案是相当跨平台的,但是如果您试图显示一个在桌面上打开的带有菜单/工具栏等的网页,那不是您想要的。
您可以使用SeleniumHQ来自动化您选择的浏览器,让该浏览器呈现页面,然后获取呈现的页面的完整图像-即,不仅仅是屏幕上显示的页面部分的屏幕截图。然后,您可以相应地进行裁剪。