使用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 相关文章推荐
详解Django缓存处理中Vary头部的使用
Jul 24 Python
Python实现两个list对应元素相减操作示例
Jun 09 Python
python实现图片处理和特征提取详解
Nov 13 Python
pygame实现雷电游戏雏形开发
Nov 20 Python
对python中的*args与**kwgs的含义与作用详解
Aug 28 Python
用Python解数独的方法示例
Oct 24 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
Oct 24 Python
Python如何使用字符打印照片
Jan 03 Python
Python tkinter界面实现历史天气查询的示例代码
Aug 23 Python
Django2.1.7 查询数据返回json格式的实现
Dec 29 Python
Python爬取某拍短视频
Jun 11 Python
LeetCode189轮转数组python示例
Aug 05 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程序
2006/10/09 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
php生成word并下载代码实例
2019/03/15 PHP
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/01/13 Javascript
读jQuery之二(两种扩展)
2011/06/11 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
elementUI select组件value值注意事项详解
2019/05/29 Javascript
javascript中call,apply,callee,caller用法实例分析
2019/07/24 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
JavaScript实现简单随机点名器
2019/11/21 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
python中使用urllib2获取http请求状态码的代码例子
2014/07/07 Python
使用Python对Access读写操作
2017/03/30 Python
使用Python对SQLite数据库操作
2017/04/06 Python
JPype实现在python中调用JAVA的实例
2017/07/19 Python
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
python 读取、写入txt文件的示例
2020/09/27 Python
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
英国最大的手表网站:The Watch Hut
2017/03/31 全球购物
Three Graces London官网:英国奢侈品牌
2021/03/18 全球购物
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
机电专业大学生求职信
2013/10/04 职场文书
心理咨询承诺书
2014/05/20 职场文书
2014年幼儿园教师工作总结
2014/11/08 职场文书
2014年标准化工作总结
2014/12/17 职场文书
微信小程序实现轮播图指示器
2022/06/25 Javascript