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

时间:2016-05-29 12:18:36

标签: elixir

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

这就是我目前正在做的事情。

def movies do
  Hound.start_session

  navigate_to(url())

  :timer.sleep(6000)

  # Do stuff with page_source()
end

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

1 个答案:

答案 0 :(得分:1)

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


  def wait_until_page_is_loaded() do

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