使用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 第一步 hello world
Sep 25 Python
python基础教程之基本内置数据类型介绍
Feb 20 Python
对于Python的Django框架部署的一些建议
Apr 09 Python
python3使用PyMysql连接mysql数据库实例
Feb 07 Python
python实现聚类算法原理
Feb 12 Python
Python_查看sqlite3表结构,查询语句的示例代码
Jul 17 Python
matplotlib绘制多个子图(subplot)的方法
Dec 03 Python
pytorch中torch.max和Tensor.view函数用法详解
Jan 03 Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
May 20 Python
python实现自动清理文件夹旧文件
May 10 Python
Python Django项目和应用的创建详解
Nov 27 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 mkdir()定义和用法
2009/01/14 PHP
PHP导入Excel到MySQL的方法
2011/04/23 PHP
PHP array操作10个小技巧分享
2011/06/23 PHP
thinkphp3.2.0 setInc方法 源码全面解析
2018/01/29 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
学习YUI.Ext 第七天--关于View&amp;JSONView
2007/03/10 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
javascript 内置对象及常见API详细介绍
2016/11/01 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
vue 简单自动补全的输入框的示例
2018/03/12 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
python机器学习之神经网络(二)
2017/12/20 Python
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
2018/09/19 Python
使用python判断你是青少年还是老年人
2018/11/29 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
人力资源行政经理自我评价
2013/10/23 职场文书
接受捐赠答谢词
2014/01/27 职场文书
初中学生期末评语
2014/04/24 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server
Android中View.post和Handler.post的关系
2022/06/05 Java/Android