簡體   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