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 = {width: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
}
phantomjs 下拉滚动条获取网页的全部源码的更多相关文章
- [Selenium2+python2.7][Scrap]爬虫和selenium方式下拉滚动条获取简书作者目录并且生成Markdown格式目录
预计阅读时间: 15分钟 环境: win7 + Selenium2.53.6+python2.7 +Firefox 45.2 (具体配置参考 http://www.cnblogs.com/yoyok ...
- Powerbuilder编程技巧 如何获取网页的HTML源码
直接使用的三种方式 1. PB内部对象 Inet object 2. API 函数 3. Ole中的Microsfot Web 游览器对象 一.Inet object: 1.Inet objec ...
- 微信小程序中如何实现分页下拉加载?(附源码)
转眼间坚持写教你微信小程序系列已经有十节系列课程了,每天的工作压力繁重,小女子也不知道自己还能坚持这样的系列教程多久.只希望每篇教程真的对大家有帮助.这节课我们要介绍的就是如何实现分页的下拉加载,我们 ...
- [Python爬虫] Selenium +phantomjs 模拟下拉滚动条
在爬虫中,有时会遇到这种情况,数据的展示是不是一页一页的,而是通过不断的下拉滚动条来加载数据.例如一点咨询(http://www.yidianzixun.com/)和微博(在未登录的状态下:http: ...
- Python3.x:遍历select下拉框获取value值
Python3.x:遍历select下拉框获取value值 Select提供了三种选择方法: # 通过选项的顺序,第一个为 0 select_by_index(index) # 通过value属性 s ...
- selenium操作下拉滚动条的几种方法
数据采集中,经常遇到动态加载的数据,我们经常使用selenium模拟浏览器操作,需要多次下拉刷新页面才能采集到所有的数据,就此总结了几种selenium操作下拉滚动条的几种方法 我这里演示的是Java ...
- selenium下拉滚动条
selenium下拉滚动条 制作人:全心全意 谷歌浏览器下拉滚动条 chrome = webdriver.Chrome() //创建谷歌浏览器对象 url="http://www.baidu ...
- input选中 和 select点击下拉选择获取选中选项的值
1.input选中$('#checkBox').find('input').each(function(i){ if($(this).prop('checked')){//获取是否选中 并判断 $(t ...
- 64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 )
64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 ) [PS: 如果在64位系统下,出现调用测试demo,返回false的情况下,请修改Hook Dll的代码] glhH ...
随机推荐
- 【BZOJ3202】项链(莫比乌斯反演,Burnside引理)
[BZOJ3202]项链(莫比乌斯反演,Burnside引理) 题面 BZOJ 洛谷 题解 首先读完题目,很明显的感觉就是,分成了两个部分计算. 首先计算本质不同的珠子个数,再计算本质不同的项链个数. ...
- List does not exist. The page you selected contains a list that does not exist. It may have been deleted by another user
当我在subsite里点击"Add a document",报这个错,后来一看event log: 在AAM里加上一条: 问题搞定:
- 洛谷 P1381 单词背诵 解题报告
P1381 单词背诵 题目描述 灵梦有\(n\)个单词想要背,但她想通过一篇文章中的一段来记住这些单词. 文章由\(m\)个单词构成,她想在文章中找出连续的一段,其中包含最多的她想要背的单词(重复的只 ...
- break、continue区别
break命令break命令允许跳出所有循环(终止执行后面的所有循环).下面的例子中,脚本进入死循环直至用户输入数字大于5.要跳出这个循环,返回到shell提示符下,就要使用break命令.1. #! ...
- 教程] 《开源框架-Afinal》之FinalHttp 01一步一脚
1.FinalHttp是什么 :FinalHttp 对 HttpClient再次封装,最简洁的就是增加了许多回调的方法,对Get 和 Post 请求进行了简化.另外一点就是FinalHttp加入线程池 ...
- CDQZ.OPENJUDGE DataStructure22
我觉得这是很重要的一些题目.它们都在这里:硕巨结构 Challenge 0:给定数列,单点修改,单点查询修改.煞有介事,不过一数组耳. Challenge 1:给定数列,单点修改,单点查询第k次操作后 ...
- C# HasRows 和 Read的区别
HasRows:返回true或者false,表示从数据库中读取出来的数据集DataRead是否存在,用来判断是否为空: Read:返回true或者false,Read才是真正的读数据,采用的是顺序读法 ...
- 【洛谷P4097】Segment 李超线段树
题目大意:维护一个二维平面,给定若干条线段,支持询问任意整数横坐标处对应的纵坐标最靠上的线段的 id,相同高度取 id 值较小的,强制在线. 题解:初步学习了李超线段树.李超线段树的核心思想在于通过标 ...
- javascript面向对象精要第二章函数整理精要
- 2018.9南京网络预选赛(J)
传送门:Problem J https://www.cnblogs.com/violet-acmer/p/9720603.html 变量解释: need[ i ] : 第 i 个房间含有的旧灯泡个数. ...