【问题标题】:Is there a way to run QtWebEngine in headless mode有没有办法在无头模式下运行 QtWebEngine
【发布时间】:2017-02-13 21:08:13
【问题描述】:

我正在使用 QWebEnginePage 来获取某些网页的内容。在 .pro 文件中我提到了CONFIG-=gui.

但是,当我在无头系统中运行程序时,它抱怨无法连接到 display:0。我还注意到它需要 libX11-xcb.so 和相关的库。

我是否可以在无头模式下使用 QtWebEngine 获取页面的 HTML 而无需使用 xvfb?

【问题讨论】:

  • 我认为还有其他方法可以在 Qt 中获取网页内容。
  • @Redanium 我的要求是获取 ajax 站点的 html。所以我一直在寻找一个无头浏览器来执行 javascript 来生成 HTML。请建议是否有任何替代方案
  • 为什么不使用QNetworkAccessManagerQNetworkReply
  • @Redanium 至于我了解这些类,不要在网页中执行 javascript 和 ajax 调用

标签: qt headless xvfb qtwebengine


【解决方案1】:

与 QtWebKit(单进程版本)相比,QtWebEngine 占用大量内存。

  • QtWebkit 无法正确呈现某些网站。
  • QtWebEngine 需要 Xserver,因此消耗了更多内存。加上多流程设计,即使您只有一个标签

终于切换到puppeteer。 我知道这不是对所发布问题的直接答案。但这解决了在真正无头模式下提取ajax站点的DOM HTML的原始问题。

【讨论】:

    【解决方案2】:

    “我的要求是获取ajax站点的html。所以我一直在寻找一个无头浏览器来执行javascript来生成HTML。”

    蜘蛛可能会满足您的要求。使用 Scrapy 和 Chrome,您可以做任何浏览器可以做的事情。

    【讨论】:

      猜你喜欢
      • 2013-11-13
      • 2016-01-10
      • 1970-01-01
      • 2021-08-06
      • 1970-01-01
      • 2019-08-12
      • 2020-01-10
      • 1970-01-01
      相关资源
      最近更新 更多