繁体   English   中英

如何使用 JS 路径获得启动点击以点击下一页?

[英]How do I get splash to click to click through next page using JS path?

我正在关注有关使用 Splash 从 javascript 网站上的表中提取数据的教程。 代码一直在抓取主页,而不是点击到下一页,所以我最终得到了 10 次相同页面的重复。 我尝试更改按钮 JS 路径,但结果相同。

有谁知道我哪里出错了? 这是我正在抓取的 URL: https://eservices.customs.gov.hk/MSOS/wsrh/001s1?searchBy=ALL

这是 Splash 的 Lua 代码:

function main(splash, args)
  assert(splash:go(args.url))
  assert(splash:wait(0.5))
  treat=require('treat')
  result= {}
  for i=1,9,1
  do
    assert(splash:runjs('document.querySelector("#next_grid-table-pubSrch > span").click()'))
    result[i]=splash.html()
  end
  return treat.as_array(result)

end

原来我只需要删除跨度标签。 这是可能有类似问题的人的更新脚本。 我在第 99/205 页附近遇到了 504 错误,所以必须解决这个问题。 当我解决这个问题时会更新,不需要回复,因为你需要我的 scrapy 代码。 这只是为了教育观看。

function main(splash, args)
  assert(splash:go(args.url))
  assert(splash:wait(0.3))
  treat=require('treat')
  result= {}
  for i=1,205,1
  do
    assert(splash:runjs('document.querySelector("#next_grid-table-pubSrch").click()'))
    assert(splash:wait(0.3))
    result[i]=splash:html()
  end
  return treat.as_array(result)
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM