🚤 启动或接管浏览器
ChromiumPage
对象和WebPage
对象的 d 模式都能控制浏览器,本节只介绍ChromiumPage
的创建,在WebPage
的章节再对其进行介绍。
用ChromiumPage()
创建页面对象。根据不同的配置,可以接管已打开的浏览器,也可以启动新的浏览器。
程序结束时,被打开的浏览器不会主动关闭,以便下次运行程序时使用(由 VSCode 启动的会被关闭)。
新手在使用无头模式时需注意,程序关闭后其实浏览器进程还在,只是看不见。
ChromiumPage
和WebPage
对象为单例,每个浏览器只能有一个该对象。对同一个浏览器重复使用ChromiumPage
获取的都是同一个对象。
✅️ ChromiumPage
初始化参数
初始化参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
addr_or_opts | str int ChromiumOptions | None | 浏览器启动配置或接管信息。 传入 'ip: port' 字符串、端口数字或 ChromiumOptions 对象时按配置启动或接管浏览器;为 None 时使用配置文件配置启动浏览器 |
tab_id | str | None | 要控制的标签页 id,为None 则控制激活的标签页 |
timeout | float | None | 整体超时时间,为None 则从配置文件中读取,默认10 |
✅️ 直接创建
📌 默认方式
这种方式代码最简洁,程序会使用默认配置,自动生成页面对象。
from DrissionPage import ChromiumPage
page = ChromiumPage()
创建ChromiumPage
对象时会在指定端口启动浏览器,或接管该端口已有浏览器。
默认情况下,程序使用 9222 端口,浏览器可执行文件路径为'chrome'
。
如路径中没找到浏览器可执行文件,Windows 系统下程序会在注册表中查找路径。
如果都没找到,则要用下文介绍的手动配置方法。
直接创建时,程序默认读取 ini 文件配置,如 ini 文件不存在,会使用内置配置。
默认 ini 和内置配置信息详见“进阶使用->配置文件的使用”章节。
您可以修改配置文件中的配置,实现所有程序都按您的需要进行启动,详见”启动配置“章节。
📌 指定端口或地址
创建ChromiumPage
对象时向addr_or_opts
参数传入端口号或地址,可接管指定端口浏览器,若端口空闲,使用默认配置在该端口启动一个浏览器。
传入端口时用int
类型,传入地址时用'address:port'
格式。
# 接管9333端口的浏览器,如该端口空闲,启动一个浏览器
page = ChromiumPage(9333)
page = ChromiumPage('127.0.0.1:9333')
✅️ 通过配置信息创建
如果需要已指定方式启动浏览器,可使用ChromiumOptions
。它是专门用于设置浏览器初始状态的类,内置了常用的配置。详细使用方法见“浏览器启动配置”一节。