使用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 相关文章推荐
Python2.x和3.x下maketrans与translate函数使用上的不同
Apr 13 Python
详解使用Python处理文件目录的相关方法
Oct 16 Python
Python实现对象转换为xml的方法示例
Jun 08 Python
python 脚本生成随机 字母 + 数字密码功能
May 26 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
Jul 27 Python
python 定时任务去检测服务器端口是否通的实例
Jan 26 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
Apr 06 Python
PyTorch: Softmax多分类实战操作
Jul 07 Python
在django中查询获取数据,get, filter,all(),values()操作
Aug 09 Python
Python截图并保存的具体实例
Jan 14 Python
Python关于OS文件目录处理的实例分享
May 23 Python
C站最全Python标准库总结,你想要的都在这里
Jul 03 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中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
javascript 循环读取JSON数据的代码
2010/07/17 Javascript
IE6下通过a标签点击切换图片的问题
2010/11/14 Javascript
JS获取IP、MAC和主机名的五种方法
2013/11/14 Javascript
JS生成不重复随机数组的函数代码
2014/06/10 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
JSON对象转化为字符串详解
2017/08/11 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
微信小程序页面渲染实现方法
2019/11/06 Javascript
JS PHP字符串截取函数实现原理解析
2020/08/29 Javascript
jQuery实现推拉门效果
2020/10/19 jQuery
Vue-Ant Design Vue-普通及自定义校验实例
2020/10/24 Javascript
Python中异常重试的解决方案详解
2017/05/05 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
python实现淘宝购物系统
2019/10/25 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
python实时监控logstash日志代码
2020/04/27 Python
keras分类模型中的输入数据与标签的维度实例
2020/07/03 Python
详解Pandas 处理缺失值指令大全
2020/07/30 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
如何在网站上添加谷歌定位信息
2016/04/16 HTML / CSS
猫咪家具:CatsPlay
2018/11/03 全球购物
医药营销专业个人自荐信
2013/09/29 职场文书
学校消防安全责任书
2014/07/23 职场文书
厨师长岗位职责范本
2014/08/25 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
运动会新闻稿
2015/07/17 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python