跳到主要内容

🥦 创建全新的浏览器


默认设置下,DrissionPage 会在 9222 端口创建浏览器,如果该端口下浏览器已经启动,则会接管使用。

并且会重复使用用户文件夹,即该端口登录过的账号,下次启动时可能仍有效,使用的插件也一样。

这为调试和日常使用带来大量便利,无须总是要处理登录和加载插件。

但项目中往往需要创建全新的浏览器环境,不希望复用之前的用户数据,可用以下方法实现:

✅️️ auto_port()方法

使用ChromiumOptions对象的atuo_port()方法,可指定程序自动创建全新的浏览器,多个浏览器互不干扰。

from DrissionPage import ChromiumOptions, ChromiumPage

co = ChromiumOptions().auto_port()
page1 = ChromiumPage(co)
page2 = ChromiumPage(co)

如此即可创建两个全新且独立的浏览器。

可以注意到,示例中两个ChromiumPage对象共用了一个ChromiumOptions对象,这在设置auto_port()时才会生效。

如果没有设置auto_port(),两个页面对象其实是同一个。

注意

如果使用atuo_port()后再使用set_loacl_port()set_address()set_user_data_path(),会覆盖auto_port()设置。


✅️️ 手动配置

如果有更细致的需求,不使用auto_port(),可自行使用set_loacl_port()set_address()set_user_data_path()为每个浏览器指定端口和用户文件夹。

注意
  • 务必注意的是,每个浏览器的端口和用户文件夹都必须是独立的,不能复用
  • 每个浏览器都要一个ChromiumOptions对象,不能复用
from DrissionPage import ChromiumPage, ChromiumOptions

co1 = ChromiumOptions().set_local_port(9111).set_user_data_path('data1')
co2 = ChromiumOptions().set_local_port(9222).set_user_data_path('data2')

page1 = ChromiumPage(co1)
page2 = ChromiumPage(co2)