DrissionPage 入门教程
浏览器启动配置
本教程共 42 篇 · 第 7 篇 · 更新于 2026-07-29 · 约 7 分钟阅读
DrissionPageDrissionPage 入门教程ChromiumOptions启动配置无头模式
7. 浏览器启动配置
本节目标:掌握 ChromiumOptions 的常用配置,能根据需要定制浏览器的启动方式。
ChromiumOptions 专门管理浏览器的启动参数。
它支持链式调用,代码写起来很流畅。
NOTE:配置只在启动浏览器时生效。浏览器跑起来后再改配置没效果。接管已有浏览器时配置也无效。
创建配置对象
from DrissionPage import ChromiumOptions
co = ChromiumOptions()
默认从 ini 文件读取配置。想从零开始:
co = ChromiumOptions(read_file=False)
常用快捷配置
无头模式
浏览器在后台运行,不显示窗口:
co = ChromiumOptions().headless()
适合服务器环境或不需要看浏览器过程的场景。
匿名模式
不携带 Cookie 和缓存:
co = ChromiumOptions().incognito()
不加载图片
加快页面加载速度:
co = ChromiumOptions().no_imgs(True)
静音
co = ChromiumOptions().mute(True)
禁用 JavaScript
co = ChromiumOptions().no_js(True)
禁用沙盒模式
Linux 服务器上经常需要:
co = ChromiumOptions().set_argument('--no-sandbox')
链式调用
多个配置可以连起来写:
from DrissionPage import Chromium, ChromiumOptions
co = (ChromiumOptions()
.headless()
.no_imgs(True)
.mute(True)
.set_argument('--no-sandbox'))
page = Chromium(co)
自定义启动参数
Chromium 支持大量 -- 开头的启动参数。
无值参数
co.set_argument('--start-maximized') # 启动时最大化
co.set_argument('--guest') # 来宾模式
co.set_argument('--disable-gpu') # 禁用 GPU 加速
有值参数
co.set_argument('--window-size', '800,600') # 初始窗口大小
co.set_argument('--user-agent', 'Mozilla/5.0') # 自定义 UA
删除参数
co.remove_argument('--start-maximized')
清空所有参数
co.clear_arguments()
路径和端口
浏览器路径
co.set_browser_path(r'D:\Chrome\chrome.exe')
本地端口
co.set_local_port(9333)
指定地址
co.set_address('127.0.0.1:9333')
自动端口
自动找可用端口,不会冲突:
co.auto_port(True)
多线程安全,但不支持多进程。多进程时用 scope 指定端口范围:
co.auto_port(True, scope=(9600, 9800))
用户数据文件夹
保存登录状态、Cookie 等信息:
co.set_user_data_path(r'D:\ChromeData')
想复用系统浏览器的用户数据:
co.use_system_user_path(True)
缓存路径
co.set_cache_path(r'D:\ChromeCache')
保存配置
配置可以保存到 ini 文件,以后复用:
co = ChromiumOptions().headless().no_imgs(True)
co.save() # 保存到默认 ini 文件
指定保存路径:
co.save(path=r'./my_config.ini')
完整示例
from DrissionPage import Chromium, ChromiumOptions
# 创建配置
co = (ChromiumOptions()
.set_browser_path(r'D:\Chrome\chrome.exe')
.headless()
.no_imgs(True)
.set_argument('--window-size', '1920,1080'))
# 启动浏览器
page = Chromium(co)
page.get('https://www.baidu.com')
print(page.title)
page.quit()
TIP:开发阶段建议不用无头模式,能看到浏览器操作。部署到服务器后再开启无头模式。