🛰️ 连接浏览器
Chromium
对象用于连接和管理浏览器。标签页的开关和获取、整体运行参数配置、浏览器信息获取等都由它进行。
根据不同的配置,可以接管已打开的浏览器,也可以启动新的浏览器。
每个浏览器只能有一个Chromium
对象(同一进程中)。对同一个浏览器重复使用Chromium()
获取的都是同一个对象。
程序结束时,被打开的浏览器不会主动关闭(VSCode 启动的除外),以便下次运行程序时使用。 新手在使用无头模式时需注意,程序关闭后其实浏览器进程还在,只是看不见。
✅️ Chromium
初始化参数
初始化参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
addr_or_opts | str int ChromiumOptions | None | 浏览器启动配置或接管信息。 传入 'ip: port' 字符串、端口数字或 ChromiumOptions 对象时按配置启动或接管浏览器;为 None 时使用配置文件配置启动浏览器 |
session_options | SessionOptions None False | None | 使用双模 Tab 时使用的默认 Session 配置,为None 使用 ini 文件配置,为False 不从 ini 读取 |
✅️ 直接创建
📌 默认方式
这种方式代码最简洁,程序会使用默认配置,自动生成页面对象。
from DrissionPage import Chromium
browser = Chromium()
创建Chromium
对象时会在指定端口启动浏览器,或接管该端口已有浏览器。
默认情况下,程序使用 9222 端口,浏览器可执行文件路径为'chrome'
。
如路径中没找到浏览器可执行文件,Windows 系统下程序会在注册表中查找路径。
如果都没找到,则要用下文介绍的手动配置方法。
直接创建时,程序默认读取 ini 文件配置,如 ini 文件不存在,会使用内置配置。
默认 ini 和内置配置信息详见“进阶使用->配置文件的使用”章节。
您可以修改配置文件中的配置,实现所有程序都按您的需要进行启动,详见”启动配置“章节。
📌 指定端口或地址
创建Chromium
对象时向addr_or_opts
参数传入端口号或地址,可接管指定端口浏览器,若端口空闲,使用默认配置在该端口启动一个浏览器。
传入端口时用int
类型,传入地址时用'address:port'
格式。
# 接管9333端口的浏览器,如该端口空闲,启动一个浏览器
browser = Chromium(9333)
browser = Chromium('127.0.0.1:9333')
✅️ 通过配置信息创建
如果需要已指定方式启动浏览器,可使用ChromiumOptions
。它是专门用于设置浏览器初始状态的类,内置了常用的配置。详细使用方法见“浏览器启动配置”一节。
📌 使用方法
ChromiumOptions
用于管理创建浏览器时的配置,内置了常用的配置,并能实现链式操作。详细使用方法见“启动配置”一节。
初始化参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
read_file | bool | True | 是否从 ini 文件中读取配置信息,如果为False 则用默认配置创建 |
ini_path | str | None | 文件路径,为None 则读取默认 ini 文件 |
- 配置对象只有在启动浏览器时生效。
- 浏览器创建后再修改这个配置是没有效果的。
- 接管已打开的浏览器配置也不会生效。
# 导入 ChromiumOptions
from DrissionPage import Chromium, ChromiumOptions
# 创建浏览器配置对象,指定浏览器路径
co = ChromiumOptions().set_browser_path(r'D:\chrome.exe')
# 用该配置创建页面对象
browser = Chromium(addr_or_opts=co)
📌 使用指定 ini 文件创建
以上方法是使用默认 ini 文件中保存的配置信息创建对象,你可以保存一个 ini 文件到别的地方,并在创建对象时指定使用它。
from DrissionPage import Chromium, ChromiumOptions
# 创建配置对象时指定要读取的ini文件路径
co = ChromiumOptions(ini_path=r'./config1.ini')
# 使用该配置对象创建页面
browser = Chromium(addr_or_opts=co)