使用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 排列组合之itertools
Mar 20 Python
Python入门及进阶笔记 Python 内置函数小结
Aug 09 Python
用Python的SimPy库简化复杂的编程模型的介绍
Apr 13 Python
Python中文字符串截取问题
Jun 15 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
Aug 15 Python
微信跳一跳小游戏python脚本
Jan 05 Python
Django中的Signal代码详解
Feb 05 Python
浅谈Python的list中的选取范围
Nov 12 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
Feb 22 Python
python反编译学习之字节码详解
May 19 Python
使用django的objects.filter()方法匹配多个关键字的方法
Jul 18 Python
python用什么编辑器进行项目开发
Jun 17 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
php strcmp使用说明
2010/04/22 PHP
php替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
2014/07/14 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
laravel 数据验证规则详解
2019/10/23 PHP
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
bootstrap table插件的分页与checkbox使用详解
2017/07/23 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
Vue.js2.0中的变化小结
2017/10/24 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
mpvue全局引入sass文件的方法步骤
2019/03/06 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
小程序跳转H5页面的方法步骤
2020/03/06 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
全面理解Python中self的用法
2016/06/04 Python
Python设计模式之命令模式原理与用法实例分析
2019/01/11 Python
python重要函数eval多种用法解析
2020/01/14 Python
python计算二维矩形IOU实例
2020/01/18 Python
硕士研究生自我鉴定
2013/11/08 职场文书
个人函授自我鉴定
2014/03/25 职场文书
销售活动策划方案
2014/08/26 职场文书
党员创先争优心得体会
2014/09/11 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
vue3中的组件间通信
2021/03/31 Vue.js
Python Numpy之linspace用法说明
2021/04/17 Python
SpringBoot整合Redis入门之缓存数据的方法
2021/11/17 Redis
设置IIS Express并发数
2022/07/07 Servers