【发布时间】:2012-09-15 19:31:33
【问题描述】:
我需要编写一个打开网站的 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 中打开一个新标签,但不会对其进行截图:(
我希望解决方案是跨平台的。感谢您的帮助:)
编辑:
这里的主要问题是脚本必须在我的网页完全打开之前拍照。如何解决这个问题?
【问题讨论】:
-
我不知道你的
webbrowser模块能做什么。如果没有从浏览器到控制 Python 脚本的任何类型的回调表明页面加载已完成,那么您只剩下一个选择:等待一个恒定的时间并使其足够长:例如time.sleep(5).
标签: python browser screenshot screensaver wxwidgets