网页加载状态一共分为5种,分别是:
//(未初始化)还没有调用send()方法 1.uninitialized:(Uninitialized) the send( ) method has not yet been invoked. //(载入)已调用send()方法,正在发送请求 2.loading:(Loading) the send( ) method has been invoked, request in progress. //(载入完成)send()方法执行完成,已经接收到全部响应内容 3.loaded:(Loaded) the send( ) method has completed, entire response received. //(交互)正在解析响应内容 4.interactive:(Interactive) the response is being parsed. //(完成)响应内容解析完成,可以在客户端调用了 5.completed:(Completed) the response has been parsed, is ready for harvesting.
这里分为两种判断形式描述:
1.html文件内的js代码判断
用document.onreadystatechange的方法来监听状态改变,然后用document.readyState == “complete”判断是否加载完成
代码如下:
//当页面加载状态改变的时候执行这个方法. document.onreadystatechange = subSomething; function subSomething(){ //当页面加载状态 if(document.readyState == “complete”) { //code } }
2.打开F12控制台使用js脚本获取状态
爬虫爬网页时,有时页面一直在加载中,这时候如果要停止加载,则可以执行js脚本: window.stop();
//当页面一直在加载中(比如引用某个图片或脚本未完成),但所需内容已显示出来 if (document.readyState == 'interactive') { window.stop(); }