Python 对网页截图的问题?

2016-09-22 12:16:49 +08:00
 yh7gdiaYW

具体来说,有一个带有一堆图表( Echarts )的网页,需求是把这个网页作为报告,发送到某 win 上的邮箱客户端里(可能是 IE6 核心而且有很多限制),考虑到这网页基本不可能显示正常,只能发送图片。
参考了这篇的方法用 PyQt4 来截图:
http://www.oschina.net/code/snippet_219811_14920
然后发现一个问题, Echarts 的图表加载时有个动画效果,截图的话正好就截在动画过程中,翻了下文档也没找到有什么延时的办法?有了解 PyQt4 的吗?或者还有什么更好的轮子可以用?

3144 次点击
所在节点    Python
8 条回复
TimePPT
2016-09-22 12:31:22 +08:00
直接取数据再用随便一个 Python 可视化库生成一次比截图省心好维护吧……
nino
2016-09-22 12:37:14 +08:00
wizardoz
2016-09-22 12:38:30 +08:00
Echarts 有保存为图片的接口,先把每个单独的图表保存为图片,然后在网页中嵌入图表图片是否可行?
pathletboy
2016-09-22 12:49:11 +08:00
phantomjs
goofool
2016-09-22 12:54:56 +08:00
In [29]: from selenium import webdriver

In [30]: driver = webdriver.PhantomJS()

In [31]: driver.get("http://www.baidu.com")

In [32]: driver.save_screenshot("test.png")
Out[32]: True
soulteary
2016-09-22 12:59:03 +08:00
使用 js headless 测试工具或许是更好的选择, http://casperjs.org/ 相比较 phantomjs 更简单, api 更友好一点。

capture() + wait() 两个 api 组合后的效果应该是你要的,如果你愿意, https://github.com/weaver/node-mail 发邮件 , https://github.com/eladnava/mailgen 改一下模版,把图加进去,效果更好。
yh7gdiaYW
2016-09-22 14:35:39 +08:00
@wizardoz 会很蛋疼,两位数的图表...
yh7gdiaYW
2016-09-22 14:51:08 +08:00
@TimePPT 感觉美观程度比较捉急,另外截图这功能其实不怎么用维护

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/308099

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX