• 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    
    }
    

      

  • 相关阅读:
    Python iter() 函数
    Python file() 函数
    Python bin() 函数
    QTP自动化测试-打开运行报告
    mysql-笔记-数据类型
    mysql-笔记--增删改查
    mysql-笔记-命名、索引规范
    Navicat for MySQL 安装和破解
    mysql client--笔记-修改密码-登录-查看数据库-创建数据库
    安装mysql
  • 原文地址:https://www.cnblogs.com/c-x-a/p/6365882.html
Copyright © 2020-2023  润新知