mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
SessionElement的html属性现在不会折叠空元素
This commit is contained in:
parent
0462e9f2b3
commit
8a863ef07d
@ -37,14 +37,13 @@ class SessionElement(DrissionElement):
|
|||||||
@property
|
@property
|
||||||
def html(self) -> str:
|
def html(self) -> str:
|
||||||
"""返回元素outerHTML文本"""
|
"""返回元素outerHTML文本"""
|
||||||
return format_html(tostring(self._inner_ele).decode())
|
return format_html(tostring(self._inner_ele, method="html").decode())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def inner_html(self) -> str:
|
def inner_html(self) -> str:
|
||||||
"""返回元素innerHTML文本"""
|
"""返回元素innerHTML文本"""
|
||||||
html = format_html(tostring(self._inner_ele).decode())
|
r = re.match(r'<.*?>(.*)</.*?>', self.html, flags=re.DOTALL)
|
||||||
r = re.match(r'<.*?>(.*)</.*?>', html, flags=re.DOTALL)
|
return '' if not r else r.group(1)
|
||||||
return None if not r else r.group(1)
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def tag(self) -> str:
|
def tag(self) -> str:
|
||||||
@ -355,7 +354,9 @@ def execute_session_find(page_or_ele,
|
|||||||
# 用lxml内置方法获取lxml的元素对象列表
|
# 用lxml内置方法获取lxml的元素对象列表
|
||||||
if loc[0] == 'xpath':
|
if loc[0] == 'xpath':
|
||||||
ele = page_or_ele.xpath(loc[1])
|
ele = page_or_ele.xpath(loc[1])
|
||||||
else: # 用css selector获取元素对象列表
|
|
||||||
|
# 用css selector获取元素对象列表
|
||||||
|
else:
|
||||||
ele = page_or_ele.cssselect(loc[1])
|
ele = page_or_ele.cssselect(loc[1])
|
||||||
|
|
||||||
# 把lxml元素对象包装成SessionElement对象并按需要返回第一个或全部
|
# 把lxml元素对象包装成SessionElement对象并按需要返回第一个或全部
|
||||||
@ -370,7 +371,6 @@ def execute_session_find(page_or_ele,
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
elif mode == 'all':
|
elif mode == 'all':
|
||||||
# 去除元素间换行符
|
|
||||||
return [SessionElement(e, page) if isinstance(e, HtmlElement) else e for e in ele if e != '\n']
|
return [SessionElement(e, page) if isinstance(e, HtmlElement) else e for e in ele if e != '\n']
|
||||||
|
|
||||||
except XPathEvalError:
|
except XPathEvalError:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user