【问题标题】:How to get popup content with splash如何获取带有启动画面的弹出内容
【发布时间】:2016-09-06 14:24:23
【问题描述】:

我开始使用scrapy 和splash,我想知道splash 是否可以处理多个窗口和弹出窗口。作为示例,我想使用该 lua 脚本并尝试获取 google 窗口的内容

function main(splash)
  assert(splash:go("http://stackoverflow.com/"))
  assert(splash:runjs("window.open('http://www.google.com');"))
  assert(splash:wait(5))
  return {
    ?
  }
end

【问题讨论】:

    标签: web-scraping scrapy popup scrapy-splash splash-js-render


    【解决方案1】:

    我发现了一个小技巧,我做了一个

    assert(splash:runjs("window.open = function(url) {window.location.replace(url)};")
    

    因此,您不会打开新窗口,而是将您重定向到链接,但这是一种黑客攻击,如果不使用 window.open 打开弹出窗口,它可能无法正常工作

    我认为用 selenium 刮擦也可以是一个解决方案,但我想让我的东西轻量级

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-19
      相关资源
      最近更新 更多