我如何让Hound等待页面完全加载?

问题描述 投票:4回答:1

我正在使用Hound(与PhantomJS配合使用)来抓取网页。有问题的页面会用Javascript懒惰地加载一些我需要的内容。

这是我目前正在做的。

def movies do
  Hound.start_session

  navigate_to(url())

  :timer.sleep(6000)

  # Do stuff with page_source()
end

如何让Hound等待页面完全加载而不必对任意计时器进行硬编码?

elixir
1个回答
0
投票

不确定它是否是最好的解决方案,但我这样做了


  def wait_until_page_is_loaded() do

    case execute_script("return document.readyState") do
       "loading" ->  wait_until_page_is_loaded()
       _ -> true
     end
  end

© www.soinside.com 2019 - 2024. All rights reserved.