跳到主要内容

⚙️ 全局设置


有一些运行时的全局设置,可以控制程序某些行为。

✅️️ 使用方式

全局设置在DrissionPage.common路径中。

set_****()的方式对属性进行设置。

设置方法会返回Settings类本身,所以支持链式操作。

使用方法:

from DrissionPage.common import Settings

Settings.set_raise_when_wait_failed(True) # 设置等待失败时抛出异常
Settings.set_language('en') # 设置报错使用英文

Settings.set_raise_when_wait_failed(True).set_auto_handle_alert(True) # 链式操作

✅️️ 设置项

📌 set_raise_when_ele_not_found()

设置找不到元素时,是否抛出异常。初始为False

参数名称类型默认值说明
on_offboolTruebool表示开或关

返回:Settings


📌 set_raise_when_click_failed()

设置点击失败时,是否抛出异常。初始为False

参数名称类型默认值说明
on_offboolTruebool表示开或关

返回:Settings


📌 set_raise_when_wait_failed()

设置等待失败时,是否抛出异常。初始为False

参数名称类型默认值说明
on_offboolTruebool表示开或关

返回:Settings


📌 set_singleton_tab_obj()

设置 Tab 对象是否使用单例模式。初始为True

参数名称类型默认值说明
on_offboolTruebool表示开或关

返回:Settings


📌 set_cdp_timeout()

设置 cdp 执行超时(秒),初始为30

参数名称类型默认值说明
secondfloat必填秒数

返回:Settings


📌 set_browser_connect_timeout()

设置连接浏览器的超时时间(秒)。初始为30

参数名称类型默认值说明
secondfloat必填秒数

返回:Settings


📌 set_auto_handle_alert()

全局的自动处理弹出设置。

参数名称类型默认值说明
acceptbool
None
TrueNone时不自动处理,为True时自动接受,为False时自动取消。

返回:Settings


📌 set_language()

设置报错和提示信息语言。

参数名称类型默认值说明
codestr必填可选'zh_cn''en'

返回:Settings


📌 set_suffixes_list()

设置用于解析域名后缀的本地文件路径。

默认会连网获取,离线环境下使用内置文件,可对此属性赋值手动指定路径。

通常离线环境下打包使用时需要设置。

参数名称类型默认值说明
pathstr
Path
必填文件路径

返回:Settings


✅️️ 示例

此示例设置找不到元素时立刻抛出异常(如不设置返回NoneElement)。

可直接执行查看效果。

from DrissionPage import SessionPage
from DrissionPage.common import Settings

Settings.set_raise_when_ele_not_found(True)

page = SessionPage()
page.get('https://www.baidu.com')
ele = page('#abcd')

输出:

...前面省略...
DrissionPage.errors.ElementNotFoundError:
没有找到元素。
method: ele()
args: {'locator': '#abcd'}