![](/img/trans.png)
[英]Is it possible to take a screenshot of a website using python without having to actually open the website on my pc?
[英]Take a screenshot of open website in python script
我需要编写一个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中打开一个新标签,但不截取屏幕截图:(
我希望解决方案是跨平台的。 谢谢你的帮助:)
编辑:
这里的主要问题是,在我的网页完全打开之前,脚本要拍照。 如何解决这个问题?
我相信您需要针对不同操作系统的不同解决方案。 使用sys.platform
找出您所在的平台。 其余的您必须弄清楚自己,但是快速的互联网搜索显示:
这个解决方案是相当跨平台的,但是如果您试图显示在桌面上打开的带有菜单/工具栏等内容的网页,那不是您想要的。
您可以使用SeleniumHQ来自动化您选择的浏览器,让该浏览器呈现页面,然后获取呈现的页面的完整图像-即,不仅仅是屏幕上显示的页面部分的屏幕截图。 然后,您可以相应地进行裁剪。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.