Python 模块 DrissionPage

DrissionPage(ChromiumPage)简单用法总结

安装

1
pip install DrissionPage

ChromiumPage 基本用法总结(代码 + 注释)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from DrissionPage import ChromiumPage

# 创建 ChromiumPage 对象,启动内置 Chromium 浏览器(默认非无头模式)
page = ChromiumPage()

# 访问网页
page.get('https://example.com')

# 查找元素:使用 CSS 选择器
el = page.e('h1') # 获取第一个 <h1> 元素
print(el.text) # 输出文本内容

# 查找元素:使用 XPath 选择器(前面加 @ 表示 XPath)
el2 = page.e('@//p') # 获取第一个 <p> 元素
print(el2.text)

# 点击元素(如按钮)
page.e('button#submit').click() # 点击 id 为 submit 的按钮

# 输入文本
page.e('input[name="username"]').input('admin') # 在 name 为 username 的输入框输入 'admin'

# 等待元素出现,最多等待10秒
page.wait.e('div.result', timeout=10) # 等待 class 为 result 的 div 出现

# 获取整个页面 HTML 源码
html = page.html

# 执行 JavaScript 脚本,获取页面标题
title = page.run_js('return document.title;')
print(f'页面标题:{title}')

# 模拟截图并保存到当前目录
page.screenshot('screenshot.png')

# 保存当前 HTML 到本地文件
with open('page.html', 'w', encoding='utf-8') as f:
f.write(html)

# 设置移动端 User-Agent(模拟手机访问)
page.set_user_agent(mobile=True)

# 关闭浏览器(一定要在结束时关闭以释放资源)
page.close()

其他常用配置(可选)

1
2
3
4
5
6
# 启动时设置无头模式(不弹出浏览器窗口)
page = ChromiumPage(headless=True)

# 启动时设置代理(适用于需要翻墙或隐藏 IP)
page = ChromiumPage(proxy='http://127.0.0.1:1080')

使用优势总结

功能 DrissionPage Selenium Playwright
浏览器自动化
支持 requests 风格
CSS/XPath 查找封装 一般
简单截图、JS 执行等
易用性 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐