Python Selenium实现博客自动翻页教程

Ada
Ada
发布时间:2026-10-13| 2人浏览过
原创

本文介绍如何使用Python结合Selenium库实现博客网站的自动翻页功能。通过Firefox浏览器驱动,利用XPath定位分页元素,遍历并点击“下一页”按钮实现内容加载。文中提供了完整代码、运行输出及环境配置建议,适用于Python 3.6.2及pywin32 3.6版本,帮助开发者掌握网页自动化基础操作。

首先展示代码及其运行后的输出结果截图。

接下来提供具体代码实现。

# 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版本。

本次分享就到这里,后续将继续与大家交流,共同进步。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。