mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
453 lines
7.7 KiB
Markdown
453 lines
7.7 KiB
Markdown
## 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 |