跳到主要内容

⚙️ 实用工具


DrissionPage.common路径可导入几个小工具。

✅️️ make_session_ele()

此方法用于把页面对象、元素对象或 html 文本转换为SessionElement对象,或以其为基准搜索元素,获取其静态版本。

参数名称类型默认值说明
html_or_elestr
ChromiumElement
ChromiumPage
ChromiumTab
WebPage
MixTab
ChromiumFrame
ShdownRoot
必填html文本、元素或页面对象
locstr
Tuple[str, str]
None定位元组或字符串,为None时不在下级查找,返回根元素
indexint1获取第几个元素,从1开始,可传入负数获取倒数第几个,None获取所有
返回类型说明
SessionElementindex为数字时返回静态元素对象
List[SessionElement]indexNone时返回静态元素对象组成的列表

示例:

from DrissionPage.common import make_session_ele

html = '''
<html><body><div>abc</div></body></html>
'''
ele = make_session_ele(html)
print(ele.text)

输出:

abc

✅️️ get_blob()

此方法用于获取指定 blob 资源内容。

注意
  • 如果资源在异域<iframe>元素内,必须获取该<iframe>元素对象,再把该对象传入才能获取到
  • 本方法只能用于获取静态的资源,流媒体不可以
参数名称类型默认值说明
pageChromiumPage
ChromiumTab
WebPage
MixTab
ChromiumFrame
必填该资源所在的页面对象
urlstr必填blob 资源 url
as_bytesboolTrue是否以bytes类型返回
返回类型说明
stras_bytes参数为False时以 base64 格式返回
bytesas_bytes参数为True时以字节数据返回

✅️️ configs_to_here()

此方法用于把 ini 文件复制到当前路径。

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

返回: None


✅️️ wait_until()

此方法用于等待传入的方法返回值不为假。超时则抛出TimeoutError

参数名称类型默认值说明
functioncallable必填要执行的方法
kwargsdictNone方法参数
timeoutfloat10超时时间(秒)

返回: Any


✅️️ tree()

此方法用于打印页面或元素结构。

参数名称类型默认值说明
ele_or_page所有页面和元素对象必填页面或元素对象
textboolFalse是否打印元素文本
show_jsboolFalse打印文本时是否打印<script>标签内容
show_cssboolFalse打印文本时是否打印<style>标签内容

返回: None


✅️️ Keys

这是快速获取特殊按键和组合键的类。


✅️️ By

与 selenium 的By类一致,方便项目迁移。