使用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中的异常处理学习笔记
Jan 28 Python
用Python编写一个基于终端的实现翻译的脚本
Apr 24 Python
Python连接PostgreSQL数据库的方法
Nov 28 Python
json跨域调用python的方法详解
Jan 11 Python
python交互式图形编程实例(三)
Nov 17 Python
python 输入一个数n,求n个数求乘或求和的实例
Nov 13 Python
Python批量生成幻影坦克图片实例代码
Jun 04 Python
Django实现发送邮件功能
Jul 18 Python
详解用python生成随机数的几种方法
Aug 04 Python
numpy 声明空数组详解
Dec 05 Python
在pytorch中对非叶节点的变量计算梯度实例
Jan 10 Python
新年福利来一波之Python轻松集齐五福(demo)
Jan 20 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+jQuery递归调用POST循环请求示例
2016/10/14 PHP
PHP提取字符串中的手机号正则表达式怎么写
2017/07/17 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
写了一个layout,拖动条连贯,内容区可为iframe
2007/08/19 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
jQuery判断checkbox是否选中的小例子
2013/12/02 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
微信小程序页面滑动屏幕加载数据效果
2020/11/16 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
Python用Pillow(PIL)进行简单的图像操作方法
2017/07/07 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
python使用matplotlib库生成随机漫步图
2018/08/27 Python
python使用udp实现聊天器功能
2018/12/10 Python
Python删除n行后的其他行方法
2019/01/28 Python
python+os根据文件名自动生成文本
2019/03/21 Python
python处理大日志文件
2019/07/23 Python
python 解决cv2绘制中文乱码问题
2019/12/23 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
python给list排序的简单方法
2020/12/10 Python
材料化学应届生求职信
2013/10/09 职场文书
小饰品店的创业计划书范文
2013/12/28 职场文书
项目转让协议书
2014/10/27 职场文书
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS