DrissionPage/docs/APIs/DriverElement 类.md
2021-12-15 18:24:52 +08:00

453 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## class DriverElement()
driver 模式的元素对象,包装了一个 WebElement 对象,并封装了常用功能。
参数说明:
- ele: WebElement - WebElement 对象
- page: DriverPage - 元素所在的页面对象
## inner_ele
被包装的 WebElement 对象。
返回: WebElement
## html
返回元素 outerHTML 文本。
返回: str
## json
当返回内容是json格式时返回对应的字典。
返回: dict
## inner_html
返回元素 innerHTML 文本。
返回: str
## tag
返回元素标签名。
返回: str
## attrs
以字典方式返回元素所有属性及值。
返回: dict
## text
返回元素内的文本,已格式化处理。
返回: str
## raw_text
返回元素内的文本,未格式化处理。
返回: str
## comments
返回元素内注释列表。
返回: list
## link
返回元素 href 或 src 绝对 url。
返回: str
## css_path
返回元素 css selector 绝对路径。
返回: str
## xpath
返回元素 xpath 绝对路径。
返回: str
## parent
返回父级元素对象。
返回: DriverElement
## next
返回下一个兄弟元素对象。
返回: DriverElement
## prev
返回上一个兄弟元素对象。
返回: DriverElement
## size
以字典方式返回元素大小。
返回: dict
## location
以字典方式放回元素坐标。
返回: dict
## shadow_root
返回当前元素的 shadow_root 元素对象
返回: ShadowRoot
## before
返回当前元素的 ::before 伪元素内容
返回: str
## after
返回当前元素的 ::after 伪元素内容
返回: str
## select
如果是 select 元素,返回 Select 对象,否则返回 None。
返回Union[Select, None]
## wait__ele
等待子元素从dom删除、显示、隐藏。
参数说明:
- loc_or_ele:Union[str, tuple, DrissionElement, WebElement] - 可以是元素、查询字符串、loc元组
- mode:str - 等待方式,可选:'del', 'display', 'hidden'
- timeout:float - 等待超时时间
返回: 等待是否成功
## texts()
返回元素内所有直接子节点的文本,包括元素和文本节点
参数说明:
- text_node_only:bool - 是否只返回文本节点
返回: List[str]
## parents()
返回第 N 层父级元素对象。
参数说明:
- num: int - 第几层父元素
返回: DriverElement
## nexts()
返回后面第 num 个兄弟元素或节点文本。
参数说明:
- num: int - 后面第几个兄弟元素或节点
- mode: str - 'ele', 'node' 或 'text',匹配元素、节点、或文本节点
返回: [DriverElement, str]
## prevs()
返回前面第 num 个兄弟元素或节点文本。
参数说明:
- num: int - 前面第几个兄弟元素或节点
- mode: str - 'ele', 'node' 或 'text',匹配元素、节点、或文本节点
返回: [DriverElement, str]
## attr()
获取元素某个属性的值。
参数说明:
- attr: str - 属性名称
返回: str
## prop()
获取元素某个property属性的值。
参数说明:
- prop: str - 属性名称
返回: str
## ele()
返回当前元素下级符合条件的子元素、属性或节点文本。
如查询参数是字符串,可选 '@属性名:'、'tag:'、'text:'、'css:'、'xpath:'、'.'、'#' 方式。无控制方式时默认用 text 方式查找。
如是loc直接按照内容查询。
参数说明:
- loc_or_str: [Tuple[str, str], str] - 元素的定位信息,可以是 loc 元组,或查询字符串
- mode: str - 'single' 或 'all',对应查找一个或全部
- timeout: float - 查找元素超时时间
返回: [DriverElement, str]
## eles()
根据查询参数获取符合条件的元素列表。查询参数使用方法和 ele 方法一致。
参数说明:
- loc_or_str: [Tuple[str, str], str] - 查询条件参数
- timeout: float - 查找元素超时时间
返回: List[DriverElement or str]
## s_ele()
查找第一个符合条件的元素以SessionElement形式返回。
参数说明:
- loc_or_str: [Tuple[str, str], str] - 元素的定位信息,可以是 loc 元组,或查询字符串
返回: [SessionElement, str]
## s_eles()
查找所有符合条件的元素以SessionElement列表形式返回。
参数说明:
- loc_or_str: [Tuple[str, str], str] - 查询条件参数
返回: List[SessionElement or str]
## style()
返回元素样式属性值。
参数说明:
- style: str - 样式属性名称
- pseudo_ele: str - 伪元素名称
返回: str
## click()
点击元素,如不成功则用 js 方式点击,可指定是否用 js 方式点击。
参数说明:
- by_js: bool - 是否用js方式点击
返回: bool
## click_at()
带偏移量点击本元素相对于左上角坐标。不传入x或y值时点击元素中点。
参数说明:
- x: Union[int, str] - 相对元素左上角坐标的x轴偏移量
- y: Union[int, str] - 相对元素左上角坐标的y轴偏移量
- by_js: bool - 是否用js方式点击
返回: None
## r_click()
右键单击。
返回: None
## r_click_at()
带偏移量右键单击本元素相对于左上角坐标。不传入x或y值时点击元素中点。
参数说明:
- x: Union[int, str] - 相对元素左上角坐标的x轴偏移量
- y: Union[int, str] - 相对元素左上角坐标的y轴偏移量
返回: None
## input()
输入文本或组合键返回是否成功输入。insure_input 为 False 时始终返回 True。
参数说明:
- vals: Union[str, tuple] - 文本值或按键组合
- clear: bool - 输入前是否清除文本框
- insure_input: bool - 是否自动检测并确保输入正确
- timeout: folat - 尝试输入的超时时间不指定则使用父页面的超时时间只在insure_input为True时生效
返回: bool是否成功输入。insure_input 为 False 时始终返回 True。
## run_script()
执行 js 代码,传入自己为第一个参数。
参数说明:
- script: str - JavaScript文本
- *args - 传入的参数
返回: Any
## submit()
提交表单。
返回: None
## clear()
清空文本框。
参数说明:
- insure_clear: bool - 是否确保清空
返回: bool - 是否清空成功不能清空的元素返回None
## is_selected()
元素是否被选中。
返回: bool
## is_enabled()
元素在页面中是否可用。
返回: bool
## is_displayed()
元素是否可见。
返回: bool
## is_valid()
元素是否还在 DOM 内。该方法用于判断页面跳转元素不能用的情况
返回: bool
## screenshot()
网页截图,返回截图文件路径。
参数说明:
- path: str - 截图保存路径,默认为 ini 文件中指定的临时文件夹
- filename: str - 截图文件名,默认为页面 title 为文件名
返回: str
## select()
在下拉列表中选择。
参数说明:
- text: str - 选项文本
返回: bool - 是否成功
## set_prop()
设置元素property属性。
参数说明:
- prop: str - 属性名
- value: str - 属性值
返回: bool -是否成功
## set_attr()
设置元素attribute参数。
参数说明:
- attr: str - 参数名
- value: str - 参数值
返回: bool -是否成功
## remove_attr()
删除元素属性。
参数说明:
- attr: str - 参数名
返回: bool -是否成功
## drag()
拖拽当前元素一段距离,返回是否拖拽成功。
参数说明:
- x: int - 拖拽x方向距离
- y: int - 拖拽y方向距离
- speed: int - 拖拽速度
- shake: bool - 是否随机抖动
返回: bool
## drag_to()
拖拽当前元素,目标为另一个元素或坐标元组,返回是否拖拽成功。
参数说明:
- ele_or_loc[tuple, WebElement, DrissionElement] - 另一个元素或相对当前位置,坐标为元素中点坐标。
- speed: int - 拖拽速度
- shake: bool - 是否随机抖动
返回: bool
## hover()
在元素上悬停鼠标。
返回: None