我正在抓取一个非常恼人的链接(<a>
HTML标记)的网站 - 它会在点击时打开小弹出窗体,提交后会打开新的浏览器标签(并将焦点切换到它)使用我需要的URL,并将旧标签重定向到另一个页面。
成功提交弹出窗口非常简单,但我不知道如何获取此新标签的网址。
正如文档所说,Splash只能使用一个标签,所以不可能这样做吗?
答案 0 :(得分:0)
作为Splash的comments开发人员this GitHub issue,此功能尚未实施。
但是我在同一个问题上发布了my solution来解决这个问题。 例如:
function main(splash, args)
assert(splash:go(args.url)) -- execute JS code below only after loading the page
splash:runjs("var newTabURL")
splash:runjs("newTabURL = null") -- sometimes JS can't find variable without this line
splash:runjs("window.open = function(url){newTabURL = url}")
-- actions which open the new tab
local new_tab_url = splash:evaljs("newTabURL")
-- other actions
end