Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 如何让Hound等待页面完全加载?_Elixir - Fatal编程技术网

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

Elixir 如何让Hound等待页面完全加载?,elixir,Elixir,我正在使用Hound(带有PhantomJS)来刮取网页。有问题的页面懒洋洋地加载我需要的一些Javascript内容 这就是我目前正在做的 def movies do Hound.start_session navigate_to(url()) :timer.sleep(6000) # Do stuff with page_source() end 如何让Hound等待页面完全加载,而不必硬编码任意计时器?不确定这是否是最佳解决方案,但我是这样做的 def wai

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

这就是我目前正在做的

def movies do
  Hound.start_session

  navigate_to(url())

  :timer.sleep(6000)

  # Do stuff with page_source()
end

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

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


  def wait_until_page_is_loaded() do

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


可能的副本不是副本。另一个答案没有考虑Javascript。