【发布时间】:2013-11-17 07:08:26
【问题描述】:
我已使用以下代码截取网页的屏幕截图。 从代码中我了解到,首先将完整的页面加载到框架中,然后在 Painter 中呈现框架。我面临的问题是某些网页在内容方面可能非常非常冗长,但我只想要网站第一页的屏幕截图。有什么办法可以解决吗?
def capture(self, url, output_file):
self.load(QUrl(url))
self.wait_load()
# set to webpage size
frame = self.page().mainFrame()
self.page().setViewportSize(frame.contentsSize())
# render image
image = QImage(self.page().viewportSize(), QImage.Format_ARGB32)
painter = QPainter(image)
frame.render(painter)
painter.end()
print 'saving', output_file
image.save(output_file)
我尝试在 QSize 对象的帮助下设置框架的首选大小,但它也无济于事。 或者,有什么办法可以裁剪图像? 非常感谢任何帮助,谢谢。
【问题讨论】: