🛰️ 获取元素 信息
浏览器元素对应的对象是ChromiumElement
和ShadowRoot
,本节介绍如何获取元素信息。
✅️️ 内容和属性
📌 tag
此属性返回元素的标签名。
返回类型:str
📌 html
此属性返回元素的outerHTML
文本。
返回类型:str
📌 inner_html
此属性返回元素的innerHTML
文本。
返回类型:str
📌 text
此属性返回元素内所有文本组合成的字符串。
该字符串已格式化,即已转码,已去除多余换行符,符合人读取习惯,便于直接使用。
返回类型:str
📌 raw_text
此属性返回元素内未经处理的原始文本。
返回类型:str
📌 texts()
此方法返回元素内所有直接子节点的文本,包括元素和文本节点。 它有一个参数text_node_only
,为True
时则只获取只返回不被包裹的文本节点。这个方法适用于获取文本节点和元素节点混排的情况。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
text_node_only | bool | False | 是否只返回文本节点 |
返回类型 | 说明 |
---|---|
List[str] | 文本列表 |
📌 comments
此属性以列表形式返回元素内的注释。
返回类型:List[str]
📌 attrs
此属性以字典形式返回元素所有属性及值。
返回类型:dict
📌 attr()
此方法返回元素某个 attribute 属性值。它接收一个字符串参数,返回该属性值文本,无该属性时返回None
。
此属性返回的src
、href
属性为已补充完整的路径。text
属性为已格式化文本。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
name | str | 必填 | 属性名称 |
返回类型 | 说明 |
---|---|
str | 属性值文本 |
None | 没有该属性返回None |
📌 property()
此方法返回property
属性值。它接收一个字符串参数,返回该参数的属性值。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
name | str | 必填 | 属性名称 |
返回类型 | 说明 |
---|---|
str | 属性值 |
📌 value
此方法返回元素的value
值。
返回类型:str
📌 link
此方法返回元素的href
属性或src
属性,没有这两个属性则返回None
。
返回类型:str
📌 pseudo.before
此属性以文本形式返回当前元素的::before
伪元素内容。
类型:str
📌 pseudo.after
此属性以文本形式返回当前元素的::after
伪元素内容。
类型:str
📌 style()
该方法返回元素 css 样式属性值,可获取伪元素的属性。它有两个参数,style
参数输入样式属性名称,pseudo_ele
参数输入伪元素名称,省略则获取普通元素的 css 样式属性。
参数名称 | 类型 | 默认值 | 说 明 |
---|---|---|---|
style | str | 必填 | 样式名称 |
pseudo_ele | str | '' | 伪元素名称(如有) |
返回类型 | 说明 |
---|---|
str | 样式属性值 |
📌 shadow_root
此属性返回元素内的 shadow-root 对象,没有的返回None
。
类型:ShadowRoot
✅️️ 大小和位置
📌 rect.size
此属性以元组形式返回元素的大小。
类型:Tuple[float, float]
size = ele.rect.size
# 返回:(50, 50)
📌 rect.location
此属性以元组形式返回元素左上角在整个页面中的坐标。
类型:Tuple[float, float]
loc = ele.rect.location
# 返回:(50, 50)
📌 rect.midpoint
此属性以元组形式返回元素中点在整个页面中的坐标。
类型:Tuple[float, float]
loc = ele.rect.midpoint
# 返回:(55, 55)
📌 rect.click_point
此属性以元组形式返回元素点击点在整个页面中的坐标。
点击点是指click()
方法点击时的位置,位于元素中上部。
类型:Tuple[float, float]
📌 rect.viewport_location
此属性以元组形式返回元素左上角在当前视口中的坐标。
类型:Tuple[float, float]