当前位置: 首页 > 面试题库 >

在Linux上通过Python脚本拍摄屏幕截图

云项禹
2023-03-14
问题内容

我想通过python脚本截取屏幕截图,并毫不干扰地保存它。

我只对Linux解决方案感兴趣,应该支持任何基于X的环境。


问题答案:

这无需使用scrot或ImageMagick即可工作。

import gtk.gdk

w = gtk.gdk.get_default_root_window()
sz = w.get_size()
print "The size of the window is %d x %d" % sz
pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,False,8,sz[0],sz[1])
pb = pb.get_from_drawable(w,w.get_colormap(),0,0,0,0,sz[0],sz[1])
if (pb != None):
    pb.save("screenshot.png","png")
    print "Screenshot saved to screenshot.png."
else:
    print "Unable to get the screenshot."

从http://ubuntuforums.org/showpost.php?p=2681009&postcount=5借来的



 类似资料:
  • 问题内容: 我需要编写一个python脚本来打开一个网站,当该网站完全打开时,它将截取已打开网站的屏幕截图。 我这样写: 它仅在firefox中打开一个新标签,但不截取屏幕截图:( 我希望解决方案是跨平台的。谢谢你的帮助:) 编辑: 这里的主要问题是脚本完全打开了我的网页之前就拍照了。 如何解决这个问题? 问题答案: 这个解决方案是相当跨平台的,但是如果您试图显示一个在桌面上打开的带有菜单/工具栏

  • 我需要使用Sikuli的自动化,但我无法采取截图。问题是,当我点击“截屏”或“创建区域”时,IDE会被隐藏,但选择区域选项不会出现....

  • 我目前正在尝试实现Ashot来为我当前的项目截图,它正在为桌面工作。 但我想知道如何在iOS和Android设备上实现它,互联网上没有太多信息。 我使用了以下视口,它正在为iPad截图: 屏幕截图FullPage=new AShot()。拍摄策略(ShootingStrategies.viewportRetina(100,0,0,2))。截图(司机); 但是我想知道如何使用给定的属性来为其他IOS

  • 问题内容: 我想获得活动的“全页”屏幕截图。该视图包含一个RecyclerView,其中包含许多项。 我可以使用此功能拍摄当前视图的屏幕截图: 但是它仅包含我可以正常查看的项目(符合预期)。 截屏时,有什么方法可以使RecyclerView神奇地完整显示(一次显示所有项目)? 如果没有,我应该如何解决这个问题? 问题答案: 这是我的解决方案,当 所有项目的尺寸都相同 并且 只有一种类型的项目时 。

  • 我找了很多,但找不到解决办法。这里有一个类似的问题,在java中有一个可能的解决方案。 Python中有类似的解决方案吗?

  • 我试着根据类名拍摄一个特定网页元素的截图。我遵循了《如何使用Selenium WebDriver截屏》、《如何使用Python在Selenium中截屏指定的WebElement》以及《如何使用Python中的Selenium WebDriver截屏》中描述的方法? 以下是命令及其错误: 和 这两次我都收到了错误消息 硒。常见的例外。WebDriverException:消息:未知命令:sessio