🛩️ 获取元素信息
SessionPage
对象获取的元素是SessionElement
,本节介绍其属性。
假设ele
为以下div
元素的对象,本节示例均使用该元素:
<div id="div1" class="divs">Hello World!
<p>行元素</p>
<!--这是注释-->
</div>
✅️️ html
此属性返回元素的outerHTML
文本。
返回类型:str
print(ele.html)
输出:
<div id="div1" class="divs">Hello World!
<p>行元素</p>
<!--这是注释-->
</div>
✅️️ inner_html
此属性返回元素的innerHTML
文本。
返回类型:str
print(ele.inner_html)
输出:
Hello World!
<p>行元素</p>
<!--这是注释-->
✅️️ tag
此属性返回元素的标签名。
返回类型:str
print(ele.tag)
输出:
div
✅️️ text
此属性返回元素内所有文本组合成的字符串。
该字符串已格式化,即已转码,已去除多余换行符,符合人读取习惯,便于直接使用。
返回类型:str
print(ele.text)
输出:
Hello World!
行元素
✅️️ raw_text
此属性返回元素内原始文本。
返回类型:str
print(ele.raw_text)
输出(注意保留了元素间的空格和换行):
Hello World!
行元素

✅️️ texts()
此方法返回元素内所有直接子节点的文本,包括元素和文本节点。 它有一个参数text_node_only
,为True
时则只获取只返回不被包裹的文本节点。这个方法适用于获取文本节点和元素节点混排的情况。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
text_node_only | bool | False | 是否只返回文本节点 |
返回类型 | 说明 |
---|---|
List[str] | 文本列表 |
示例:
print(e.texts())
print(e.texts(text_node_only=True))
输出:
['Hello World!', '行元素']
['Hello World!']
✅️️ comments
此属性以列表形式返回元素内的注释。
返回类型:List[str]
print(ele.comments)
输出:
[<!--这是注释-->]
✅️️ attrs
此属性以字典形式返回元素所有属性及值。
返回类型:dict
print(ele.attrs)
输出:
{'id': 'div1', 'class': 'divs'}