-
Notifications
You must be signed in to change notification settings - Fork 455
Closed
Description
I tried using splash: mouseclick to load the next page and get the code for the next page of the page.
function process_one(splash)
local get_dimensions = splash:jsfunc([[
function () {
var allA = document.getElementsByTagName('a');
for(var i=0;i<allA.length;i++){
if(allA[i].innerHTML=="\u4e0b\u4e00\u9875"){
var rect = allA[i].getClientRects()[0];
return {"x": rect.left, "y": rect.top};
}
}
}
]])
splash:set_viewport_full()
splash:wait(0.1)
local dimensions = get_dimensions()
splash:mouse_click(dimensions.x, dimensions.y)
splash:wait(5)
local content=splash:html()
return content
end
function process_mul(splash)
local res={}
for i=1,3,1 do
res[i]=process_one(splash)
end
return res
end
function main(splash)
assert(splash:go("http://was.mot.gov.cn:8080/govsearch/gov_list.jsp"))
return {res=process_mul(splash)}
endThe above code can work properly, but the efficiency is too low,I have to use splash: wait to wait 5 seconds to ensure that the page load is completed, otherwise I will get a lot of duplicate page code.I have read the information for a long time but did not find an efficient way to deal with this problem.
Is there any way in splash that has a method like selenium implicitlyWait or is there an easier way to fix my problem?
Metadata
Metadata
Assignees
Labels
No labels