使用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开发之list操作实例分析
Feb 22 Python
非递归的输出1-N的全排列实例(推荐)
Apr 11 Python
使用pytorch进行图像的顺序读取方法
Jul 27 Python
python 读取摄像头数据并保存的实例
Aug 03 Python
浅谈Python反射 &amp; 单例模式
Mar 21 Python
python 随机森林算法及其优化详解
Jul 11 Python
Python字符编码转码之GBK,UTF8互转
Feb 09 Python
pandas to_excel 添加颜色操作
Jul 14 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
Aug 07 Python
详解python tcp编程
Aug 24 Python
python函数的两种嵌套方法使用
Apr 02 Python
Python内置包对JSON文件数据进行编码和解码
Apr 12 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 Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
PHP实现动态删除XML数据的方法示例
2018/03/30 PHP
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
javascript之dhDataGrid Ver2.0.0代码
2007/07/01 Javascript
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
2015/08/06 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
javascript简单写的判断电话号码实例
2017/05/24 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
Python中实现参数类型检查的简单方法
2015/04/21 Python
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
Python django实现简单的邮件系统发送邮件功能
2017/07/14 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
Django model update的多种用法介绍
2020/03/28 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
css3实现动画的三种方式
2020/08/24 HTML / CSS
你常见到的runtime exception
2016/09/05 面试题
深圳茁壮笔试题
2015/05/28 面试题
《学会待客》教学反思
2014/02/22 职场文书
观看《永远的雷锋》心得体会
2014/03/12 职场文书
力学专业求职信
2014/07/23 职场文书
销售团队获奖感言
2014/08/14 职场文书
课外访万家心得体会
2014/09/03 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
导师工作推荐信
2015/03/27 职场文书
党性修养心得体会2016
2016/01/21 职场文书