From 8a863ef07d03f72f054f053ce1ef9c4806bfdcea Mon Sep 17 00:00:00 2001 From: g1879 Date: Fri, 13 Nov 2020 10:32:50 +0800 Subject: [PATCH] =?UTF-8?q?SessionElement=E7=9A=84html=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E7=8E=B0=E5=9C=A8=E4=B8=8D=E4=BC=9A=E6=8A=98=E5=8F=A0=E7=A9=BA?= =?UTF-8?q?=E5=85=83=E7=B4=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DrissionPage/session_element.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/DrissionPage/session_element.py b/DrissionPage/session_element.py index f0f36d9..355deb8 100644 --- a/DrissionPage/session_element.py +++ b/DrissionPage/session_element.py @@ -37,14 +37,13 @@ class SessionElement(DrissionElement): @property def html(self) -> str: """返回元素outerHTML文本""" - return format_html(tostring(self._inner_ele).decode()) + return format_html(tostring(self._inner_ele, method="html").decode()) @property def inner_html(self) -> str: """返回元素innerHTML文本""" - html = format_html(tostring(self._inner_ele).decode()) - r = re.match(r'<.*?>(.*)', html, flags=re.DOTALL) - return None if not r else r.group(1) + r = re.match(r'<.*?>(.*)', self.html, flags=re.DOTALL) + return '' if not r else r.group(1) @property def tag(self) -> str: @@ -355,7 +354,9 @@ def execute_session_find(page_or_ele, # 用lxml内置方法获取lxml的元素对象列表 if loc[0] == 'xpath': ele = page_or_ele.xpath(loc[1]) - else: # 用css selector获取元素对象列表 + + # 用css selector获取元素对象列表 + else: ele = page_or_ele.cssselect(loc[1]) # 把lxml元素对象包装成SessionElement对象并按需要返回第一个或全部 @@ -370,7 +371,6 @@ def execute_session_find(page_or_ele, return None elif mode == 'all': - # 去除元素间换行符 return [SessionElement(e, page) if isinstance(e, HtmlElement) else e for e in ele if e != '\n'] except XPathEvalError: