使用Python实现博客上进行自动翻页

 更新时间:2017年08月23日 16:57:21   作者:huidaoli  
这篇文章主要介绍了使用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
刚翻页完成了!

很多同学会问运行中是个什么情况,给大家上几张图片:

上图是自动在地址栏输入http:codelife.ecit-it.com,并加载博客站点。

默认加载的是博客第一页的内容哦。

经过等待,等待的过程中千万别走神,否则会错过了哦!上图已经点击了,还好我眼疾手快截到图了。

点击完第二页后就跳转到第二页去了。

观察仔细的同学会发现,我后面有一行代码是后来加上去的。

print ("下一页按钮元素:",elem_dh[2])

加入上面一行代码将可以打印出博客上的”下一页“按钮元素的定位数据。

我们可以看到,下一页的元素信息打印出来了。如果有同学需要只点击”下一页“按钮进行翻页的话,可以用到这个元素数组。

关于元素的定位官网有详细的用法,在此不详细介绍,自备楼梯http://selenium-python.readthedocs.io/locating-elements.html

当然,开发环境大家一写要安装完好,安装的插件比较多,如果上面代码大家进行出错的话,说明大家的开发环境有问题,或是少插件,或是版本号与插件不对应。

本人电脑上的Python版本是3.6.2,安装的pywin32也是3.6版本的。

今天就写到这了,后面再继续跟大家分享,一起进步。

相关文章

  • windows、linux下打包Python3程序详细方法

    windows、linux下打包Python3程序详细方法

    这篇文章主要介绍了windows、linux下打包Python3程序详细方法,需要的朋友可以参考下
    2020-03-03
  • Python如何向IP地址发送字符串

    Python如何向IP地址发送字符串

    在Python中,向IP地址发送字符串通常意味着你需要通过某种协议来实现通信,最常见的协议包括TCP和UDP,这篇文章主要介绍了Python向IP地址发送字符串的示例代码,需要的朋友可以参考下
    2024-08-08
  • Python一步步带你操作Excel

    Python一步步带你操作Excel

    这篇文章主要介绍了Python编写命令行脚本操作excel的方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • 如何使用pytorch实现LocallyConnected1D

    如何使用pytorch实现LocallyConnected1D

    由于LocallyConnected1D是Keras中的函数,为了用pytorch实现LocallyConnected1D并在960×33的数据集上进行训练和验证,本文分步骤给大家介绍如何使用pytorch实现LocallyConnected1D,感兴趣的朋友一起看看吧
    2023-09-09
  • Python 保持登录状态进行接口测试的方法示例

    Python 保持登录状态进行接口测试的方法示例

    这篇文章主要介绍了Python 保持登录状态进行接口测试的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-08-08
  • python文件与路径操作神器 pathlib

    python文件与路径操作神器 pathlib

    这篇文章主要介绍了python文件与路径操作神器 pathlib,pathlib中封装了PurePath和Path类,前者用于处理路径风格的字符串;后者是前者的子类,可直接处理路径,下文关于更多的pathlib相关内容,需要的小伙伴可以参考一下
    2022-04-04
  • python进程和线程用法知识点总结

    python进程和线程用法知识点总结

    在本篇文章里小编给大家整理了关于python进程和线程用法以及相关实例内容,需要的朋友们跟着学习下。
    2019-05-05
  • pytorch中LN(LayerNorm)及Relu和其变相的输出操作

    pytorch中LN(LayerNorm)及Relu和其变相的输出操作

    这篇文章主要介绍了pytorch中LN(LayerNorm)及Relu和其变相的输出操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python如何实现播放本地音乐并在web页面播放

    Python如何实现播放本地音乐并在web页面播放

    这篇文章主要为大家详细介绍了Python如何实现播放本地音乐并在web页面播放,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-02-02
  • python des,aes,rsa加解密的实现

    python des,aes,rsa加解密的实现

    这篇文章主要介绍了python des,aes,rsa加解密的实现,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01

最新评论