使用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 布尔操作实现代码
Mar 23 Python
python统计文本文件内单词数量的方法
May 30 Python
python下MySQLdb用法实例分析
Jun 08 Python
详解 Python 与文件对象共事的实例
Sep 11 Python
Vue的el-scrollbar实现自定义滚动
May 29 Python
python3爬虫怎样构建请求header
Dec 23 Python
举例讲解Python常用模块
Mar 08 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
Feb 07 Python
Django搭建项目实战与避坑细节详解
Dec 06 Python
python 将html转换为pdf的几种方法
Dec 29 Python
Python如何利用正则表达式爬取网页信息及图片
Apr 17 Python
Python Pandas解析读写 CSV 文件
Apr 11 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 一个随机字符串生成代码
2010/05/26 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
2016/04/01 PHP
关于php中一些字符串总结
2016/05/05 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
PHP实现查询手机归属地的方法详解
2017/04/28 PHP
jQuery温习篇 强大的JQuery选择器
2010/04/24 Javascript
javascript中的float运算精度实例分析
2010/08/21 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
vue+mockjs模拟数据实现前后端分离开发的实例代码
2017/08/08 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
Python 一句话生成字母表的方法
2019/01/02 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
协程Python 中实现多任务耗资源最小的方式
2020/10/19 Python
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
iphoneX 适配客户端H5页面的方法教程
2017/12/08 HTML / CSS
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
彪马土耳其官网:PUMA土耳其
2019/07/14 全球购物
毕业生就业自荐信
2013/12/04 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
2014年教研活动总结范文
2014/04/26 职场文书
小学清明节活动总结
2014/07/04 职场文书
2015年英语教研组工作总结
2015/05/23 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
2016年国庆节假期旅游工作总结
2016/04/01 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
解决pytorch-gpu 安装失败的记录
2021/05/24 Python