Ich benutze Scrapy + Splash-Plugin, ich habe eine Schaltfläche, die ein Download-Ereignis über Ajax auslöst, muss ich die heruntergeladene Datei, aber weiß nicht wie.Scrapy Splash Download-Datei von js klicken Ereignis
Mein Lua Script ist so etwas wie dieses
function main(splash)
splash:init_cookies(splash.args.cookies)
assert(splash:go{
splash.args.url,
headers=splash.args.headers,
http_method=splash.args.http_method,
body=splash.args.body,
})
assert(splash:wait(0.5))
local get_dimensions = splash:jsfunc([[
function() {
var rect = document.querySelector('a[aria-label="Download XML"]').getClientRects()[0];
return {"x": rect.left, "y": rect.top}
}
]])
splash:set_viewport_full()
splash:wait(0.1)
local dimensions = get_dimensions()
-- FIXME: button must be inside a viewport
splash:mouse_click(dimensions.x, dimensions.y)
splash:wait(0.1)
return splash:html()
end
Meine Anfrage Objekt aus meiner Spinne:
yield SplashFormRequest(self.urls['url'],
formdata=FormBuilder.build_form(response, some_object[0]),
callback=self.parse_cuenta,
cache_args=['lua_source'],
endpoint='execute',
args={'lua_source': self.script_click_xml})
Vielen Dank im Voraus
Hallo @ delpo, hast du die Lösung? –
Hey @SanoopPK, ich habe keine Lösung – delpo