用selenium爬网页,很多时候页面里面的有用信息其实已经加载完成了,但是由于页面加载没有彻底完成,下一步操作仍然不会执行,很耽误时间。
然后很多其他文章中提到了一种方法:
d.set_page_load_timeout(10)然而在我的测试下,这种方法不论是在firefox下还是在PhantomJS下,都不起作用。所以我查了一下文档,还有一种设置超时的方法:
from selenium import webdriver
d= webdriver.PhantomJS()
d.set_page_load_timeout(10)
d.set_script_timeout(10)#这两种设置都进行才有效
我测试之后发现是可用的,超时就会提示错误。
try:
d.get(s)
except:
d.execute_script('window.stop()')
这样,就可以在页面停止加载后继续操作了。