Python使用Splinter库实现浏览器自动化操作教程

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

本文介绍如何利用Python的Splinter库进行浏览器自动化操作。通过两个具体案例,演示如何初始化浏览器、访问网页、填充表单元素以及模拟点击按钮。文章涵盖Google搜索跳转验证及126邮箱自动登录的实现细节,包括元素定位、等待机制及资源释放,为Web应用测试提供基础参考。

使用Splinter库来开发浏览器自动化脚本,其代码编写过程相对简单直观。

案例一:

from splinter import Browser 
 
with Browser() as browser: 
 # Visit URL 
 url = "http://www.google.com" 
 browser.visit(url) 
 browser.fill('q', 'splinter - python acceptance testing for web applications') 
 # Find and click the 'search' button 
 button = browser.find_by_name('btnG') 
 # Interact with elements 
 button.click() 
 if browser.is_text_present('splinter.readthedocs.io'): 
  print("Yes, the official website was found!") 
 else: 
  print("No, it wasn't found... We need to improve our SEO techniques") 

代码第1行用于导入Browser模块。

Browser类构成了整个测试流程的基础,可以将其视为一个虚拟的浏览器实例。

第3行代码负责初始化一个Browser对象,若未指定具体参数,默认将使用Firefox浏览器。

第4行代码调用browser对象的visit方法,访问地址为"http://google.com"。

第5行代码利用browser对象的fill方法,向页面中name属性为'q'的元素填充内容'splinter - python acceptance testing for web applications'。在Google首页中,该元素对应搜索输入框,建议查看Google首页源码以确认结构。

第6行包含两个操作:首先通过name属性'btnG'定位到按钮元素,随后调用click()方法点击该按钮。此按钮即为Google的搜索执行按钮。

第8行代码用于判断页面中是否存在'splinter.cobrateam.info'字符串。由于前一步已点击搜索按钮,此处检查的是搜索结果页。无需担心网络延迟导致判断失误,Splinter会自动等待页面完全加载后再执行后续操作。

第13行代码用于销毁browser对象,释放相关资源。

案例二:

此处提供自动登录126邮箱的示例。关键难点在于定位页面中的账户、密码输入框及登录按钮元素,这需要通过查看126邮箱登录页面的源代码来获取相关控件的ID。

以输入密码为例,密码文本框的id为'pwdInput'。可以使用browser.find_by_id()方法定位到该密码输入框。

随后使用fill()方法填入密码。模拟点击登录按钮时,同样需要先通过id定位到按钮控件,再调用click()方法执行点击。

鉴于代码逻辑较为简单,此处仅在代码中通过注释说明其工作原理。

#coding=utf-8 
import time 
from splinter import Browser 
 
def splinter(url): 
 browser = Browser('chrome') 
 #login 126 email websize 
 browser.visit(url) 
 #wait web element loading 
 time.sleep(5) 
 #fill in account and password 
 browser.find_by_id('idInput').fill('xxxxxx') 
 browser.find_by_id('pwdInput').fill('xxxxx') 
 #click the button of login 
 browser.find_by_id('loginBtn').click() 
 time.sleep(8) 
 #close the window of brower 
 browser.quit() 
 
if __name__ == '__main__': 
 websize3 ='http://www.126.com' 
 splinter(websize3) 

以上关于Python利用Splinter实现浏览器自动化的操作方法即为全部内容,希望能对大家有所帮助,欢迎参考与支持。

相关标签:

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

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 算法库。