zoukankan      html  css  js  c++  java
  • phantomjs 下拉滚动条获取网页的全部源码

    //codes.js  
    var system = require('system'); 
    var fs = require("fs"); 
    //console.log('Loading a web page');  
    var page = require('webpage').create();  
    var url = "https://m.rong360.com/shenyang/search?loan_limit=3.0&application_type=9&loan_term=12&rf_page_name=homepage&fr=btn";  
    console.log(url);  
         page.settings = {
       userAgent: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36',
      	  javascriptEnabled: true,
          loadImages: true
    };
     console.log("begin");
    
    page.viewportSize = {1000,height:2000};
      console.log("--------------------1------------------------------");
    page.open(url, function (status) {  
        //Page is loaded!  
               if (status != "success") {
                console.log("visit web eror");
            }
            else {
              console.log("--------------------2------------------------------");
        waitFor();
    // window.setTimeout(function () { 
    //                  page.render('1.png');
    //                console.log("---------------------FS MOVE------------------------------");
    //           phantom.outputEncoding="utf8";
    //                fs.write('1.html', page.content, 'w');
    //               phantom.exit();
    //            },30000);
            }       
    });   
    
    function markCapture()
    {
    var ishaveA=page.evaluate(function () { 
    	var flag=false;
    	var acount=document.getElementsByClassName("ui-product-item").length;
    	var source=document.body.innerHTML;
    
    if(acount!=0&&document.getElementsByClassName("no-more").length==0)
    {
    	document.getElementsByClassName("ui-product-item")[acount-1].scrollIntoView();
    }
    else
    {
    flag=true;
    }
    
    	return flag;
      });
    return ishaveA;
    }
    
     function waitFor() {
      interval = setInterval(function() {
      	 var flag= markCapture();
      	 console.log("flag:"+flag);
      	   if(flag){
            	console.log("flag is:"+flag);
            	  page.render('1.png');
                    console.log("---------------------FS MOVE------------------------------");
               phantom.outputEncoding="utf8";
                    fs.write('1.html', page.content, 'w');
            clearInterval(interval); 
           phantom.exit();
     }
     }, 5000); //< repeat  5000ms    
    }
    

      

  • 相关阅读:
    linux shell if 参数
    SHELL输出颜色和闪烁控制
    http层负载均衡之 haproxy实践篇
    linux系统查找大文件脚本
    Nginx的try_files指令和命名location使用实例
    Java SpringMVC实现PC端网页微信扫码支付完整版
    IPTABLES基本例子
    MAC上反编译android apk---apktool, dex2jar, jd-jui安装使用(含手动签名)
    spring mvc 集成freemarker模板
    Python—正则表达式
  • 原文地址:https://www.cnblogs.com/c-x-a/p/6365882.html
Copyright © 2011-2022 走看看