跳到主要内容

🛸 创建页面对象


本节介绍WebPage对象的创建。

WebPage对象拥有两种模式,d 模式用于操控浏览器,s 模式用于收发数据包。

✅️️ WebPage初始化参数

初始化参数类型默认值说明
modestr'd'只能接收'd''s',即初始选择操控浏览器还是收发数据包
timeoutfloatNone整体超时时间,为None则从配置文件中读取,默认 10
chromium_optionsChromiumOptions
False
None默认为None表示从 ini 文件读取配置进行初始化
接收ChromiumOptions时用该配置启动或接管浏览器
如不使用 d 模式功能,接收False,避免打包出错
session_or_optionsSession
SessionOptions
False
None默认为None表示从 ini 文件读取配置进行初始化
接收Session时直接使用一个已创建的Session对象
接收SessionOptions时用该配置创建Session对象
如不使用 s 模式功能,接收False,避免打包出错

✅️️ 直接创建

这种方式代码最简洁,程序会从默认 ini 文件中读取配置,自动生成页面对象。

创建时,可指定初始模式。

from DrissionPage import WebPage

# 默认d模式创建对象
page = WebPage()

# 指定s模式创建对象
page = WebPage('s')

d 模式创建WebPage对象时会在指定端口启动浏览器,或接管该端口已有浏览器。

默认情况下,程序使用 9222 端口,浏览器可执行文件路径为'chrome'。如路径中没找到浏览器可执行文件,Windows 系统下程序会在注册表中查找路径。如果都没找到,则要用下一种方式手动配置。

注意

这种方式的程序不能直接打包,因为使用到 ini 文件。可参考“打包程序”一节的方法。

Tips

您可以修改配置文件中的配置,实现所有程序都按您的需要进行启动,详见”启动配置“章节。


✅️️ 通过配置信息创建

如果需要已指定方式启动浏览器,可使用ChromiumOptionsSessionOptions。它们的使用在各自的章节已经介绍过,这里只演示如何在WebPage创建时使用。

📌 使用方法

创建两个配置对象后,传递给WebPage的初始化方法。

from DrissionPage import WebPage, ChromiumOptions, SessionOptions

co = ChromiumOptions()
so = SessionOptions()

page = WebPage(chromium_options=co, session_or_options=so)

如果只需要对一个模式的配置进行修改,另一个模式使用 ini 的配置,可以只传入一种配置对象。

from DrissionPage import WebPage, ChromiumOptions

co = ChromiumOptions()
page = WebPage(chromium_options=co)
说明

当同时传入ChromiumOptionsSessionOptions时,两者都有的属性以ChromiumOptions为准。如timeoutdownload_path


📌 使用指定 ini 文件创建

以上方法是使用默认 ini 文件中保存的配置信息创建对象,你可以保存一个 ini 文件到别的地方,并在创建对象时指定使用它。

from DrissionPage import WebPage, ChromiumOptions, SessionOptions

co = ChromiumOptions(ini_path=r'./config1.ini')
so = SessionOptions(ini_path=r'./config1.ini')

page = WebPage(chromium_options=co, session_or_options=so)