Skip to content

⚙️ 配置文件的使用

本库使用 ini 文件记录浏览器或Session对象的启动配置。便于配置复用,免于在代码中加入繁琐的配置信息。
默认情况下,页面对象启动时自动加载文件中的配置信息。
也可以在默认配置基础上用简单的方法再次修改,再保存到 ini 文件。
也可以保存多个 ini 文件,按不同项目须要调用。

注意

  • ini 文件仅用于管理启动配置,页面对象创建后再修改 ini 文件是没用的。
  • 如果是接管已打开的浏览器,这些设置也没有用。
  • 每次升级本库,ini 文件都会被重置,可另存到其它路径以免重置。

✅️️ ini 文件内容

ini 文件初始内容如下。

[paths]
chromedriver_path = 
download_path = 

[chrome_options]
debugger_address = 127.0.0.1:9222
binary_location = chrome
arguments = ['--no-first-run', '--no-sandbox', '--disable-infobars', '--disable-popup-blocking']
extensions = []
experimental_options = {'prefs': {'profile.default_content_settings.popups': 0, 'profile.default_content_setting_values': {'notifications': 2}}}
page_load_strategy = normal
user = Default
auto_port = False

[session_options]
headers = {'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8', 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'connection': 'keep-alive', 'accept-charset': 'GB2312,utf-8;q=0.7,*;q=0.7'}

[timeouts]
implicit = 10
page_load = 30
script = 30

[proxies]
http = 
https = 

✅️️ 文件位置

默认配置文件存放在库文件夹下,文件名为 configs.ini。
用户可另存其它配置文件,或从另存的文件读取配置,但默认文件的位置和名称不会改变。


✅️️ 使用默认配置文件启动

📌 使用页面对象自动加载

这是默认启动方式。

from DrissionPage import WebPage

page = WebPage()

📌 使用配置对象加载

这种方式一般用于加载配置后须要进一步修改。

from DrissionPage import ChromiumOptions, SessionOptions, WebPage

do = ChromiumOptions(ini_path=r'D:\setting.ini')
so = SessionOptions(ini_path=r'D:\setting.ini')

page = WebPage(driver_or_options=do, session_or_options=so)

✅️️ 保存/另存 ini 文件

from DrissionPage import ChromiumOptions

co = ChromiumOptions()

# 修改一些设置
co.set_no_imgs()

# 保存到当前打开的ini文件
co.save()
# 保存到指定位置的配置文件
co.save(r'D:\config1.ini')
# 保存到默认配置文件
co.save_to_default()

✅️️ 在项目路径使用 ini 文件

默认 ini 文件存放在 DrissionPage 安装目录下,修改要通过代码进行,给调试带来不便。

因此,提供了一个便捷的方法把默认 ini 文件复制到当前项目文件夹,并且程序会优先使用项目文件夹下的 ini 文件进行初始化配置。

这样开发者可方便地手动更改配置。项目打包也可以直接打包而不会造成找不到文件问题。

复制到项目下的 ini 文件名为'dp_configs.ini',程序会默认读取这个文件的配置。

📌 configs_to_here()

此方法放在 easy_set 路径中,用于把默认 ini 文件复制到当前路径,并命名为'dp_configs.ini'

参数名称 类型 默认值 说明
save_name str None 指定文件名,为None则命名为'dp_configs.ini'

返回:None

示例:

在项目新建一个 py 文件,输入以下内容并运行

from DrissionPage.easy_set import configs_to_here

configs_to_here()

之后,项目文件夹会多出一个'dp_configs.ini'文件。页面对象初始化时会优先读取这个文件。

📌 用命令行复制

除了用configs_to_here()方法复制 ini 文件到项目文件夹,还可以用命令行方式复制。

在项目文件夹路径下运行以下命令即可:

dp --configs-to-here

效果和configs_to_here()一致,只是不能指定文件名。