使用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基础语法相关
Jan 14 Python
python 使用值来排序一个字典的方法
Nov 16 Python
Python实现字典按key或者value进行排序操作示例【sorted】
May 03 Python
将Python字符串生成PDF的实例代码详解
May 17 Python
利用python实现周期财务统计可视化
Aug 25 Python
python实现图片二值化及灰度处理方式
Dec 07 Python
python实现从ftp服务器下载文件
Mar 03 Python
Django模板标签{% for %}循环,获取制定条数据实例
May 14 Python
python中tab键是什么意思
Jun 18 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
Nov 27 Python
python 用pandas实现数据透视表功能
Dec 21 Python
Python 实现定积分与二重定积分的操作
May 26 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高级对象构建 多个构造函数的使用
2012/02/05 PHP
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
PHP生成条形图的方法
2014/12/10 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
Prototype使用指南之form.js
2007/01/10 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
Vue 滚动行为的具体使用方法
2017/09/13 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
Python单体模式的几种常见实现方法详解
2017/07/28 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
python中对_init_的理解及实例解析
2019/10/11 Python
TensorFlow查看输入节点和输出节点名称方式
2020/01/04 Python
TensorFlow内存管理bfc算法实例
2020/02/03 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
2012/12/28 HTML / CSS
《英英学古诗》教学反思
2014/04/11 职场文书
美术第二课堂活动总结
2014/07/08 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
医院见习报告范文
2014/11/03 职场文书
股权转让协议书
2014/12/07 职场文书
质量保证书怎么写
2015/02/27 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
Golang 如何实现函数的任意类型传参
2021/04/29 Golang