Xvfb + firefox:如何知道firefox完成渲染?

时间:2011-09-30 21:48:51

标签: firefox screenshot thumbnails x11 xvfb

我正试图通过使用X服务器在无头(Xvfb)X11中运行Firefox来获取Web缩略图。

我正在寻找一种方法来了解Firefox何时完成渲染,然后我可以使用图像程序来抓取窗口。

问题:我可以确定Firefox何时完成渲染。我所知道的是状态栏一旦完成渲染就应该有“完成”输出(IE,如图中的Firefox所示)。

任何人都可以知道我可以使用什么来确定Firefox是否完成呈现页面?

我所做的只是睡40秒,但这可能并不总是有效。

环境: Centos 5.7,Xvfb,Firefox 3.6.23

Shell命令:

Xvfb: 1 -screen 0 1024x768x24 &

export DISPLAY=localhost:1.0

DISPLAY=localhost:1.0 firefox http://www.example.com -width 1024 -height 768

sleep 40  **[ NEED some thing to tell me if Firefox finishes rendering ]**

DISPLAY=localhost:1.0 import -window root example.com.png

pkill firefox

2 个答案:

答案 0 :(得分:1)

我头顶的三种方法。

  1. 编写自己的扩展程序,挂钩到window.onload并触发图像抓取程序。
  2. 编写一个与window.onload挂钩的greasemonkey脚本并触发警报。等待这样的警报,然后运行图像抓取器。
  3. 定期抓取“停止”按钮的图像(应该是相对于窗口的已知坐标)并分析其颜色。如果它被禁用,则渲染完成。

答案 1 :(得分:0)