当前位置: 首页 > article >正文

Python使用DrissionPage实现自动化处理的简单入门指南

在Python自动化领域Selenium和Requests是两个常用工具但各有局限。DrissionPage巧妙结合了两者优势既能用浏览器自动化处理动态页面又能通过HTTP请求提升效率。本文将带你从零开始用10分钟掌握DrissionPage的核心用法。一、DrissionPage是什么DrissionPage是一个混合驱动的网页自动化库核心特点双引擎驱动支持Selenium浏览器渲染和RequestsHTTP请求无缝切换简洁API类似jQuery的选择器语法操作更直观智能等待自动处理元素加载延迟多浏览器支持Chrome/Firefox/Edge等适合场景网页数据采集自动化测试表单填写文件上传/下载任何需要模拟用户操作的场景二、快速安装1pipinstallDrissionPage如果使用Selenium模式需额外下载对应浏览器的WebDriver如chromedriver三、5分钟上手基础操作1. 初始化浏览器会话1234567fromDrissionPageimportChromiumPage# 以Chrome为例# 启动浏览器无头模式可加headlessTruepageChromiumPage()# 访问网页page.get(https://www.baidu.com)2. 元素定位与操作1234567# 通过ID定位搜索框并输入内容search_boxpage.ele(#kw) # CSS选择器语法search_box.input(Python自动化)# 通过文本定位按钮并点击search_btnpage.ele(text:百度一下)search_btn.click()3. 获取页面数据123456789# 获取标题print(page.title)# 获取当前URLprint(page.url)# 获取元素文本如第一条搜索结果first_resultpage.eles(div.result)[0].textprint(first_result)4. 完整示例百度搜索1234567891011121314151617fromDrissionPageimportChromiumPage# 初始化pageChromiumPage()page.get(https://www.baidu.com)# 操作page.ele(#kw).input(DrissionPage)page.ele(text:百度一下).click()# 获取结果resultspage.eles(div.result c-container)fori, resultinenumerate(results[:3],1):print(f{i}. {result.text.split(\n)[0]})# 关闭浏览器page.close()四、进阶功能速览1. 智能等待机制12345# 等待元素出现最多10秒elementpage.wait(div.loading, timeout10)# 表示CSS选择器# 等待页面标题包含特定文本page.wait(title:结果页面)2. 切换窗口/iframe12345# 切换到新标签页page.switch_to.new_tab(https://example.com)# 切换到iframepage.switch_to.frame(iframe_id)# 或通过索引page.switch_to.frame(0)3. 文件上传123# 直接操作隐藏的file inputupload_inputpage.ele(input[typefile])upload_input.send_keys(rC:\test\file.jpg)4. 执行JavaScript123456# 获取页面JS变量window_widthpage.run_js(return window.innerWidth)print(f窗口宽度: {window_width})# 修改页面样式page.run_js(document.body.style.backgroundColor lightblue)五、常见问题解决1. 元素找不到检查选择器是否正确推荐使用浏览器开发者工具复制CSS选择器添加显式等待page.wait(selector, timeout10)确认元素是否在iframe中2. 如何处理登录弹窗123# 示例处理基本认证弹窗page.set_auth(username,password)page.get(https://example.com/protected)3. 如何截图保存1page.save(screenshot.png)# 保存当前页面截图4. 无头模式设置12# 启动时添加参数pageChromiumPage(headlessTrue)# 无界面模式六、学习资源推荐选择器练习使用浏览器开发者工具的Copy selector功能快速获取元素定位方式实战项目尝试自动化登录知乎/微博等网站注意遵守robots协议

相关文章:

Python使用DrissionPage实现自动化处理的简单入门指南

在Python自动化领域,Selenium和Requests是两个常用工具,但各有局限。DrissionPage巧妙结合了两者优势,既能用浏览器自动化处理动态页面,又能通过HTTP请求提升效率。本文将带你从零开始,用10分钟掌握DrissionPage的核心…...

像素剧本圣殿企业应用:中小型内容工作室剧本量产工作流搭建

像素剧本圣殿企业应用:中小型内容工作室剧本量产工作流搭建 1. 剧本创作新范式 在内容创作行业,剧本开发一直是耗时费力的核心环节。传统编剧流程中,一个完整剧本从构思到成稿往往需要数周甚至数月时间,这对于资源有限的中小型工…...

Python包管理工具之uv的使用详细指南

uv 是一个新兴的 Python 包管理工具,它旨在提供比 pip 和 poetry 更快、更现代的依赖管理体验。uv 由 Charles Murphy 开发,基于 Rust 构建,具有极高的性能和兼容性,支持标准的 requirements.txt 文件以及 pyproject.toml 中的依赖…...

二维码修复:3大场景+5步流程,零代码基础也能掌握的受损二维码恢复指南

二维码修复:3大场景5步流程,零代码基础也能掌握的受损二维码恢复指南 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox 日常生活中,我们经常遇到二维码因污渍…...

BetterNCM Installer:5分钟极速安装网易云音乐插件的终极指南

BetterNCM Installer:5分钟极速安装网易云音乐插件的终极指南 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐插件安装的繁琐步骤而头疼吗?Bet…...

如何免越狱定制iPhone界面:Cowabunga Lite完整使用指南

如何免越狱定制iPhone界面:Cowabunga Lite完整使用指南 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite Cowabunga Lite是一款专为iOS 15设备设计的系统定制工具,让普通…...

Qwen3.5-2B保姆级教程:20亿参数模型端侧部署与图文对话实操

Qwen3.5-2B保姆级教程:20亿参数模型端侧部署与图文对话实操 1. 模型简介 Qwen3.5-2B是阿里云推出的轻量化多模态基础模型,属于Qwen3.5系列的小参数版本(20亿参数)。这个模型专为低功耗、低门槛部署场景设计,特别适合在端侧和边缘设备上运行…...

Qwen3.5-2B多场景案例:法律文书图识别+法条关联+类案推荐三合一系统

Qwen3.5-2B多场景案例:法律文书图识别法条关联类案推荐三合一系统 1. 轻量化多模态模型介绍 Qwen3.5-2B是Qwen3.5系列中的轻量化版本,仅有20亿参数规模,专为低功耗、低门槛部署场景设计。这款模型特别适合部署在端侧和边缘设备上&#xff0…...

MATLAB plot()函数实战:从数据到专业图表的完整工作流

1. 数据准备:从原始数据到可绘图格式 第一次用MATLAB画图时,我直接把Excel表格里的数据复制粘贴进去,结果plot()函数报错让我懵了半天。后来才发现,数据格式转换是绘图的第一步关键操作。假设你手头有一组温度传感器采集的时序数据…...

Linux下载加速:Qwen2.5-32B-Instruct优化方案

Linux下载加速:Qwen2.5-32B-Instruct优化方案 如果你经常在Linux系统上下载软件包、模型权重或者大型数据集,肯定遇到过下载速度慢、连接不稳定、甚至中途断掉需要重来的情况。特别是下载几十GB的大模型文件时,那种看着进度条半天不动的感觉…...

Ostrakon-VL终端惊艳效果:终端界面响应速度实测对比

Ostrakon-VL终端惊艳效果:终端界面响应速度实测对比 1. 像素特工终端效果展示 1.1 视觉设计亮点 Ostrakon-VL终端采用了独特的8-bit像素艺术风格,将传统零售场景中的图像识别任务转化为充满游戏感的"数据扫描任务"。这种设计不仅提升了用户…...

nginx——方向代理和负载均衡

目录 1.1 Nginx概述 1.1.1 企业青睐 Nginx 的核心原因 1.1.2 Nginx的作用 1.3 反向代理和负载均衡 1.4 注 1.4.1 代理百度并使用 18090 端口 1.1 Nginx概述 1.1.1 企业青睐 Nginx 的核心原因 Nginx 由俄罗斯开发者打造,具有超高稳定性(资源占用极低…...

JVM面试题——垃圾收集器

目录 Serial / Serial Old ParNew Parallel / Parallel Old CMS(Concurrent Mark Sweep) G1收集器 ZGC 简介 垃圾收集器对比与选择 Serial / Serial Old 定位:最古老、最稳定的单线程串行收集器,全程 STW。 算法&#xff1…...

如何高效使用FFmpegGUI:面向新手的完整视频处理工具指南

如何高效使用FFmpegGUI:面向新手的完整视频处理工具指南 【免费下载链接】ffmpegGUI ffmpeg GUI 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpegGUI FFmpegGUI是一款让零基础用户也能轻松掌握专业视频处理的跨平台图形界面工具。这款基于Electron和Rea…...

QQ聊天数据管理实践指南:全平台数据访问与安全操作手册

QQ聊天数据管理实践指南:全平台数据访问与安全操作手册 【免费下载链接】qq-win-db-key 全平台 QQ 聊天数据库解密 项目地址: https://gitcode.com/gh_mirrors/qq/qq-win-db-key 问题定位:聊天数据管理的核心挑战 在数字化生活中,即时…...

解决图像修复与纹理合成难题的Resynthesizer:开源智能填充工具全指南

解决图像修复与纹理合成难题的Resynthesizer:开源智能填充工具全指南 【免费下载链接】resynthesizer Suite of gimp plugins for texture synthesis 项目地址: https://gitcode.com/gh_mirrors/re/resynthesizer 在数字图像处理领域,我们经常面临…...

2026年03月总结及随笔之又双叒叕漏更

1. 回头看日更坚持了1186天。读《人工智能全球格局:未来趋势与中国位势》更新完成读《2025世界前沿技术发展报告》开更并持续更新中2023年至2025年12月底累计码字3054280字,累计日均码字2786字。2023年至2026年03月底累计码字3334223字,累计日…...

项目7-5 单表数据记录查询—— 任务7.6.6 查询结果不重复、7.6.7 范围查询、7.6.8 字符匹配查询(二)

项目7-4 单表数据记录查询—— 任务7.6.6 查询结果不重复、7.6.7 范围查询、7.6.8 字符匹配查询(二) 一、教学目标【2分钟】 **二、课程导入【4分钟】** **三、核心内容讲解** **【第一部分:概念讲解】用大白话理解三个关键字** **【第二部分:实操演示】** **四、课堂小结与…...

用PLECS和C代码手把手教你实现数字滤波(附完整工程文件)

用PLECS和C代码实现数字滤波的工程实践指南 在电力电子和电机控制领域,数字滤波技术是实现信号处理的关键环节。无论是消除高频噪声还是提取特定频段的信号成分,一个设计良好的数字滤波器都能显著提升系统性能。本文将带您从理论到实践,通过P…...

智能磁盘清理引擎:基于Windows Cleaner的系统空间优化解决方案

智能磁盘清理引擎:基于Windows Cleaner的系统空间优化解决方案 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 在数字化办公环境中,系统磁…...

Qwen3-14B RTX 4090D专用镜像详解:FlashAttention-2+vLLM推理加速实操

Qwen3-14B RTX 4090D专用镜像详解:FlashAttention-2vLLM推理加速实操 1. 镜像概述与核心优势 Qwen3-14B RTX 4090D专用镜像是专为高性能AI推理场景打造的私有化部署解决方案。这个镜像最大的特点就是"开箱即用"——所有环境依赖、模型权重、优化组件都已…...

从零部署RT-DETR:手把手教你训练自定义目标检测数据集

1. RT-DETR简介与环境配置 RT-DETR是百度推出的实时目标检测Transformer模型,相比传统CNN架构的YOLO系列,它在保持高精度的同时实现了更快的推理速度。我第一次接触这个模型时,就被它的"端到端检测"特性吸引了——不需要复杂的后处…...

Windows安卓应用安装终极指南:告别模拟器,三步完成APK直接运行

Windows安卓应用安装终极指南:告别模拟器,三步完成APK直接运行 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为Windows电脑无法直接运行安…...

数据仓库进阶:缓慢变化维度(SCD)完全解析

数据仓库进阶:缓慢变化维度(SCD)完全解析1. 缓慢变化维度概述1.1 什么是SCD?1.2 为什么需要SCD?2. SCD处理流程图3. 常见SCD类型详解3.1 Type 0:保持不变(Retain Original)3.2 Type …...

实战指南:基于快马平台快速开发并部署班级宠物园应用官方下载门户

最近学校想推广一个班级宠物园的教育应用,需要快速搭建一个官方下载页面。作为技术负责人,我尝试用InsCode(快马)平台来快速实现这个需求,整个过程比想象中顺利很多。 项目规划与结构设计 首先明确页面需要包含的几个核心模块:顶部…...

SpringAI实践(07) - 本地向量嵌入模型集成指南

SpringAI实践(07) - 本地向量嵌入模型集成指南 1.概述 本文档详细说明如何在 SpringBoot 应用中集成本地部署的 ONNX 格式向量嵌入模型(如 bge-small-zh),通过 spring-ai-starter-model-transformers 模块调用 ONNX …...

STM32按键控制LED的5种实用场景与代码优化技巧

STM32按键控制LED的5种实用场景与代码优化技巧 在嵌入式开发中,按键控制LED是最基础却最能体现设计功底的场景之一。很多开发者认为这不过是GPIO的简单操作,但实际项目中,按键响应速度、稳定性、功耗控制等细节往往决定了产品的用户体验。我曾…...

从零到一:基于51单片机与DS1302的智能万年历系统设计与实现

1. 项目背景与核心功能 每次看到桌面上那些动辄几百块的智能时钟,我都会想:这东西真的需要这么贵吗?作为一个玩了多年51单片机的老鸟,我决定用最基础的STC89C52芯片搭配DS1302时钟模块,打造一个功能不输商业产品的智能…...

深度学习模型过拟合的实战诊断与优化策略

1. 过拟合现象的诊断方法 第一次训练神经网络时,我盯着训练准确率冲到99%兴奋不已,结果测试集表现只有65%——这就是典型的过拟合现场。判断模型是否过拟合,就像医生看体检报告,需要多维度交叉验证。 最直观的方法是训练集与验证集…...

ASLR:现代操作系统中的内存安全守护者

1. ASLR:现代操作系统的内存安全基石 想象一下你家的门锁每天都会自动更换位置——这就是ASLR(地址空间布局随机化)对计算机程序做的事。作为现代操作系统最基本的安全机制之一,ASLR通过打乱程序在内存中的"居住地址"&…...