跳到主要内容

⚙️ 全局设置


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

✅️️ 使用方式​

全局设置在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
True为None时不自动处理,为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'}