使用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 相关文章推荐
Windows系统下多版本pip的共存问题详解
Oct 10 Python
Python有序查找算法之二分法实例分析
Dec 11 Python
Python数字图像处理之霍夫线变换实现详解
Jan 12 Python
Python中函数参数调用方式分析
Aug 09 Python
对python中xlsx,csv以及json文件的相互转化方法详解
Dec 25 Python
python+pyqt5实现KFC点餐收银系统
Jan 24 Python
Python3删除排序数组中重复项的方法分析
Jan 31 Python
Python Flask 搭建微信小程序后台详解
May 06 Python
Django模板语言 Tags使用详解
Sep 09 Python
python实现根据文件格式分类
Oct 31 Python
Python如何访问字符串中的值
Feb 09 Python
Python自动化测试PO模型封装过程详解
Jun 22 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
利用谷歌 Translate API制作自己的翻译脚本
2014/06/04 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
PHP积分兑换接口实例
2015/02/09 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
Avengerls vs Newbee BO3 第二场2.18
2021/03/10 DOTA
JS的反射问题
2010/04/07 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
JavaScript将相对地址转换为绝对地址示例代码
2013/07/19 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
2016/12/24 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
jQuery Raty星级评分插件使用方法实例分析
2019/11/25 jQuery
javascript实现商品图片放大镜
2019/11/28 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
2020/07/26 Javascript
对Python中gensim库word2vec的使用详解
2018/05/08 Python
Python将多个list合并为1个list的方法
2018/06/27 Python
python3 实现调用串口功能
2019/12/26 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
Python爬取YY评级分数并保存数据实现过程解析
2020/06/01 Python
通过代码实例解析Pytest运行流程
2020/08/20 Python
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
linux比较文件内容的命令是什么
2015/09/23 面试题
仓库门卫岗位职责
2013/12/22 职场文书
《狼》教学反思
2014/03/02 职场文书
四风个人对照检查材料思想汇报
2014/09/25 职场文书
2014年加油站工作总结
2014/12/04 职场文书
基层工作经历证明
2015/06/19 职场文书
思品教学工作总结
2015/08/10 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript