4

我正在使用 wkhtmltoimage 并且一切都很顺利,直到我要求它对 Twitter 进行截图并且我收到了这个奇怪的错误:

Loading page (1/2)
WARNING: Phonon needs QCoreApplication::applicationName to be set to export audio output names through the DBUS interface 
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
Rendering (2/2)                                                   
Done

这是我使用的命令:

xvfb-run wkhtmltoimage --format png --quality 100 http://twitter.com/jnbdz twitter2.png

我正在使用 Ubuntu 11、Apache2/PHP5 和 Qt4。

当我尝试获取 Google 或其他网站的屏幕截图时,我没有收到此错误。

当它工作时,我只得到这个:http ://dl.dropbox.com/u/20599297/twitter3.png

任何想法可能导致此错误?

更新

尝试截取 yahoo.com 的屏幕截图时出现不同的错误:

xvfb-run wkhtmltoimage --format png --quality 100 http://yahoo.com/ yahoo1.png


Loading page (1/2)
Error: Failed loading page http://yahoo.com/ (sometimes it will work just to ignore this error with --load-error-handling ignore)
Error: Failed loading page http://yahoo.com/ (sometimes it will work just to ignore this error with --load-error-handling ignore)
4

1 回答 1

0

好的,所以,按顺序:

1/ wkhtmltoimage 使用 Webkit,它可能出于多种原因加载 Phonon。例如,为了呈现多媒体 Web 内容。不过,这不是很重要。

2/ 一些与音频相关的 Phonon 功能需要设置应用程序名称。您可能不需要这些功能来呈现 Web 页面,因此不必担心该警告。

3/ Phonon 尝试连接到 Jack 音频服务器时失败,可能是因为它正在扫描可用的音频输出系统。无论如何,您不需要音频,因此您也可以忽略这些错误。

4/ 据我所知,Twitter 大量使用 JavaScript 进行渲染。我不知道 wkhtmltoimage 附带 JavaScript 解释器。因此几乎可以保证渲染问题。

您必须了解 wkhtmltoimage 中使用的方法有些原始并且不是很健壮。在许多情况下它会失败,首先是在处理动态内容时。

不过,在http://mobile.twitter.com/上使用移动版本可能会更好。

至于 Yahoo 错误,它们似乎是与上述任何内容无关的连接错误。

于 2012-09-06T14:13:12.200 回答