使用Python实现博客上进行自动翻页


Posted in Python onAugust 23, 2017

先上一张代码及代码运行后的输出结果的图!

使用Python实现博客上进行自动翻页

下面上代码:

# coding=utf-8 
import os
import time
from selenium import webdriver

#打开火狐浏览器 需要V47版本以上的
driver = webdriver.Firefox()#打开火狐浏览器
url = "http://codelife.ecit-it.com"#这里打开我的博客网站
driver.get(url)#设置火狐浏览器打开的网址
time.sleep(2)

#使用xpath进行多路径或多元素定位,用法看官网http://selenium-python.readthedocs.io/locating-elements.html
elem_dh = driver.find_elements_by_xpath("//div[@class='pagination pagination-large']/ul/li/a")
print ("我是刚获取的翻页按钮的路径数组:",elem_dh)
print ("下一页按钮元素:",elem_dh[2])
time.sleep(5)

#获取当前窗口句柄
now_handle = driver.current_window_handle #获取当前窗口句柄
print ("我是当前窗口的句柄:",now_handle)#打印窗口句柄 是一串数字
time.sleep(10)

#循环获取界面
for elem in elem_dh:
  print ("我是翻页按钮上的文本信息:",elem.text)          #获取元素的文本值
  print ("我是翻页按钮的地址",elem.get_attribute('href'))  #获取元素的href属性值
  elem.click()#点击进入新的界面 _blank弹出
  print ("刚翻页完成了!")

time.sleep(20)

代码为了让大家能看清楚是怎么回事,代码我已经加了注解。

运行上面的代码后执行的结果如下:

>>> 我是刚获取的翻页按钮的路径数组: [<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="b4375c0c-a3b7-42b9-aa73-ed513699718e", element="782b0162-44eb-4710-bbeb-fc4402ec7cdc")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="b4375c0c-a3b7-42b9-aa73-ed513699718e", element="40e0eede-4ecb-4d95-850f-aa3e6b18e360")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="b4375c0c-a3b7-42b9-aa73-ed513699718e", element="2665129e-ce82-4018-bfe4-a8a6ac300a19")>]
我是当前窗口的句柄: 2147483652
我是翻页按钮上的文本信息: « 上一页
我是翻页按钮的地址 None
刚翻页完成了!
我是翻页按钮上的文本信息: 2
我是翻页按钮的地址 http://codelife.ecit-it.com/page2
刚翻页完成了!
我是翻页按钮上的文本信息: 下一页 »
我是翻页按钮的地址 http://codelife.ecit-it.com/page2
刚翻页完成了!

很多同学会问运行中是个什么情况,给大家上几张图片:

使用Python实现博客上进行自动翻页

上图是自动在地址栏输入http:codelife.ecit-it.com,并加载博客站点。

使用Python实现博客上进行自动翻页

默认加载的是博客第一页的内容哦。

使用Python实现博客上进行自动翻页

经过等待,等待的过程中千万别走神,否则会错过了哦!上图已经点击了,还好我眼疾手快截到图了。

使用Python实现博客上进行自动翻页

点击完第二页后就跳转到第二页去了。

观察仔细的同学会发现,我后面有一行代码是后来加上去的。

print ("下一页按钮元素:",elem_dh[2])

加入上面一行代码将可以打印出博客上的”下一页“按钮元素的定位数据。

使用Python实现博客上进行自动翻页

我们可以看到,下一页的元素信息打印出来了。如果有同学需要只点击”下一页“按钮进行翻页的话,可以用到这个元素数组。

关于元素的定位官网有详细的用法,在此不详细介绍,自备楼梯http://selenium-python.readthedocs.io/locating-elements.html

当然,开发环境大家一写要安装完好,安装的插件比较多,如果上面代码大家进行出错的话,说明大家的开发环境有问题,或是少插件,或是版本号与插件不对应。

本人电脑上的Python版本是3.6.2,安装的pywin32也是3.6版本的。

今天就写到这了,后面再继续跟大家分享,一起进步。

Python 相关文章推荐
Python 元组(Tuple)操作详解
Mar 11 Python
python实现html转ubb代码(html2ubb)
Jul 03 Python
Python采用socket模拟TCP通讯的实现方法
Nov 19 Python
python中sys.argv参数用法实例分析
May 20 Python
python链接oracle数据库以及数据库的增删改查实例
Jan 30 Python
Django+Ajax+jQuery实现网页动态更新的实例
May 28 Python
python调用opencv实现猫脸检测功能
Jan 15 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
Aug 26 Python
Pycharm如何运行.py文件的方法步骤
Mar 03 Python
用python对oracle进行简单性能测试
Dec 05 Python
pytorch中的torch.nn.Conv2d()函数图文详解
Feb 28 Python
使用python绘制横竖条形图
Apr 21 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
Aug 23 #Python
Python PyQt5标准对话框用法示例
Aug 23 #Python
Python PyQt5实现的简易计算器功能示例
Aug 23 #Python
Python实现的密码强度检测器示例
Aug 23 #Python
python+selenium+autoit实现文件上传功能
Aug 23 #Python
Django与JS交互的示例代码
Aug 23 #Python
python paramiko模块学习分享
Aug 23 #Python
You might like
php读取30天之内的根据算法排序的代码
2008/04/06 PHP
PHP令牌 Token改进版
2008/07/18 PHP
php正则校验用户名介绍
2008/07/19 PHP
php模板引擎技术简单实现
2016/03/15 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
新页面打开实际尺寸的图片
2006/08/25 Javascript
Extjs学习笔记之六 面版
2010/01/08 Javascript
jquery一句话全选/取消全选
2011/03/01 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
JS实现方向键切换输入框焦点的方法
2015/08/19 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
关于Vue Webpack2单元测试示例详解
2017/08/14 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
JS遍历DOM文档树的方法实例详解
2018/04/03 Javascript
js时间转换毫秒的实例代码
2019/08/21 Javascript
OpenLayers3实现对地图的基本操作
2020/09/28 Javascript
Python 自动刷博客浏览量实例代码
2017/06/14 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
2018/11/10 Python
Python设计模式之状态模式原理与用法详解
2019/01/15 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
解决Pytorch 加载训练好的模型 遇到的error问题
2020/01/10 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
生产内勤岗位职责
2013/12/07 职场文书
教师自荐信
2013/12/10 职场文书
环境科学专业个人求职信
2013/12/15 职场文书
大学生求职信范文
2014/05/24 职场文书
党的群众路线教育实践活动学习计划
2014/11/03 职场文书
饭店服务员岗位职责
2015/02/09 职场文书