DrissionPage/docs/启动配置/浏览器启动配置.md
2023-01-04 16:45:13 +08:00

4.0 KiB
Raw Blame History

为使浏览器设置更便利,本库使用DriverOptions类,专门用于管理浏览器的启动配置。

!> 注意:
1、DriverOptions仅用于管理启动配置,浏览器启动后再修改无效。
2、若接管已打开的浏览器则所有启动配置均无效。

✔️ DriverOptions

DriverOptions类继承自 selenium 的Options 类,保留了原来所有功能,原生功能不在这里叙述,只介绍增加的功能。
对象创建时,可从配置文件中读取配置来进行初始化,不从文件读取则创建一个空配置对象。
该类绝大部分方法都支持链式操作。

初始化参数:

  • read_file:是否从默认 ini 文件中读取配置信息
  • ini_pathini 文件路径,为None则读取默认 ini 文件

📍 driver_path

此属性返回 chromedriver 文件路径。MixPage使用,WebPage不需要。

📍 chrome_path

此属性返回 Chrome 浏览器启动文件路径,为空时程序会根据注册表或系统路径查找。

📍 set_paths()

该方法用于设置浏览器用到的几种路径信息。

参数:

  • driver_pathchromedriver.exe 路径
  • chrome_pathchrome.exe 路径
  • local_port:本地端口号
  • debugger_address:调试浏览器地址,会覆盖local_port设置127.0.0.1:9222
  • download_path:下载文件路径
  • user_data_path:用户数据路径
  • cache_path:缓存路径

返回:None

📍 save()

此方法用于保存当前配置对象的信息到配置文件。

参数:

  • path:配置文件的路径,默认保存到当前读取的配置文件,传入'default'保存到默认 ini 文件

**返回:**配置文件绝对路径

📍 save_to_default()

此方法用于保存当前配置对象的信息到默认 ini 文件。

参数:

返回: 配置文件绝对路径

📍 remove_argument()

此方法用于移除一个argument项。

参数:

  • value:设置项名称,带有值的设置项传入设置名称即可

返回: 当前对象

📍 remove_experimental_option()

此方法用于移除一个实验设置,传入 key 值删除。

参数:

  • key:实验设置的名称

返回: 当前对象

📍 remove_all_extensions()

此方法用于移除所有插件。

参数:

返回: 当前对象

📍 set_argument()

此方法用于设置浏览器配置的argument属性。

参数:

  • arg:属性名
  • value:属性值,有值的属性传入值,没有的传入bool类型表示开关

返回: 当前对象

📍 set_timeouts()

此方法用于设置三种超时时间。

参数:

  • implicit:查找元素超时时间
  • pageLoad:页面加载超时时间
  • script:脚本运行超时时间

返回: 当前对象

📍 set_headless()

该方法用于设置是否已无头模式启动浏览器。

参数:

  • on_offbool类型,表示开或关

返回:None

📍 set_no_imgs()

该方法用于设置是否禁止加载图片。

参数:

  • on_offbool类型,表示开或关

返回:None

📍 set_mute()

该方法用于设置是否静音。

参数:

  • on_offbool类型,表示开或关

返回:None

📍 set_proxy()

该方法用于设置代理。

参数:

  • proxy:代理网址和端口,如 127.0.0.1:1080

返回:None

📍 set_user_agent()

该方法用于设置 user agent。

参数:

  • user_agentuser agent 文本

返回:None

📍 as_dict()

该方法以dict方式返回所有配置信息。

参数:

返回: 配置信息

✔️ 简单示例

from DrissionPage import WebPage, DriverOptions

# 创建配置对象(默认从 ini 文件中读取配置)
do = DriverOptions()
# 设置不加载图片、静音
do.set_no_imgs(True).set_mute(True)

# 以该配置创建页面对象
page = WebPage(driver_or_options=do)