Splash 不会呈现页面的所有内容

Splash won't render all contents of page

我正在使用 Splash v2.3.2 and I am trying to render a page 但它并没有渲染所有内容。它不会呈现图像或动态加载的内容。

我正在使用我的 http://localhost:8050/ 脚本:

function main(splash)
  local url = splash.args.url
  assert(splash:go(url))
  assert(splash:wait(10))
  return {
    html = splash:html(),
    png = splash:png(),
    har = splash:har(),
  }
end

浏览器效果图如下:

这是 Splash 渲染的屏幕截图:

我试过改变等待时间,也试过允许插件。 None 将起作用。我假设动态加载的内容受到限制,但我不确定。感谢任何帮助。

我假设您正在尝试抓取 属性 描述文本。在您的代码中,您刚刚添加了 splash:wait(10),我的建议是您应该尝试实施等待特定的 css 元素。在你的例子中,span#listing属性description。 您可以编写一个函数来等待这个特定元素,然后 return html 页面。

注意 您可以在 http://localhost:8050/

中找到示例等待元素代码

希望对您有所帮助

问题出在 localStorage - 站点使用它,但 Splash 默认使用私有模式,这会禁用 localStorage。要修复它,请禁用私人模式(请参阅 here)。此脚本适用于我 (Splash 3.0):

function main(splash)
  splash.private_mode_enabled = false
  local url = splash.args.url
  assert(splash:go(url))
  assert(splash:wait(10))
  return {
    html = splash:html(),
    png = splash:png(),
    har = splash:har(),
  }
end

另请参阅:http://splash.readthedocs.io/en/stable/faq.html#website-is-not-rendered-correctly