3

スプラッシュでスクレイピーを使い始めましたが、スプラッシュが複数のウィンドウとポップアップを処理できるかどうか疑問に思っていました。例として、その 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
4

1 に答える 1

2

小さなハックを見つけたので、

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

したがって、新しいウィンドウを開く代わりに、リンクにリダイレクトされますが、これはハックであり、ポップアップを開くために window.open を使用しないと機能しない可能性があります

セレンを使用したスクレイピーも解決策になると思いますが、自分のものを軽量に保ちたい

于 2016-09-06T15:20:01.327 に答える