我正在使用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