使用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(一)Python环境安装
Aug 20 Python
Python实现字典依据value排序
Feb 24 Python
python实现简单点对点(p2p)聊天
Sep 13 Python
PyGame贪吃蛇的实现代码示例
Nov 21 Python
Python 下载及安装详细步骤
Nov 04 Python
Django在Model保存前记录日志实例
May 14 Python
基于PyTorch的permute和reshape/view的区别介绍
Jun 18 Python
Python 忽略文件名编码的方法
Aug 01 Python
Python连接mysql数据库及简单增删改查操作示例代码
Aug 03 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
Sep 29 Python
conda安装tensorflow和conda常用命令小结
Feb 20 Python
python - timeit 时间模块
Apr 06 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
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
php生成无限栏目树
2017/03/16 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
Javascript日期对象的dateAdd与dateDiff方法
2008/11/18 Javascript
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
2014/07/29 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
2015/08/06 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
小程序实现留言板
2018/11/02 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
javascript全局自定义鼠标右键菜单
2020/12/08 Javascript
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
利用Python校准本地时间的方法教程
2019/10/31 Python
Python识别html主要文本框过程解析
2020/02/18 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
一年级评语大全
2014/04/23 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
最新最全的手机号验证正则表达式
2022/02/24 Javascript
Python图像处理库PIL详细使用说明
2022/04/06 Python
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python