From ded3e10020a2d38104722d917528000b0e3b44ef Mon Sep 17 00:00:00 2001 From: g1879 Date: Thu, 1 Aug 2024 16:03:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dlink=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=9B=E4=BF=AE=E5=A4=8Deles()=E8=BF=94=E5=9B=9E=E7=A9=BA?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DrissionPage/_elements/chromium_element.py | 2 +- DrissionPage/_functions/web.py | 6 +----- DrissionPage/_pages/chromium_base.py | 4 ++-- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/DrissionPage/_elements/chromium_element.py b/DrissionPage/_elements/chromium_element.py index e0e40ea..c0cb800 100644 --- a/DrissionPage/_elements/chromium_element.py +++ b/DrissionPage/_elements/chromium_element.py @@ -1298,7 +1298,7 @@ class ShadowRoot(BaseElement): if result: return result - return NoneElement(self.owner) if index is not None else [] + return NoneElement(self.owner) if index is not None else ChromiumElementsList() def _get_node_id(self, obj_id): """返回元素node id""" diff --git a/DrissionPage/_functions/web.py b/DrissionPage/_functions/web.py index 98cd105..7cd4783 100644 --- a/DrissionPage/_functions/web.py +++ b/DrissionPage/_functions/web.py @@ -165,11 +165,7 @@ def make_absolute_link(link, baseURI=None): link = link.strip().replace('\\', '/') parsed = urlparse(link)._asdict() if baseURI: - if link.startswith('./'): - baseURI = baseURI[:baseURI.rfind('/') + 1] - else: - p = urlparse(baseURI)._asdict() - baseURI = f'{p["scheme"]}://{p["netloc"]}' + baseURI = baseURI.rstrip('/\\') # 是相对路径,与页面url拼接并返回 if not parsed['netloc']: diff --git a/DrissionPage/_pages/chromium_base.py b/DrissionPage/_pages/chromium_base.py index 770baf6..f33c311 100644 --- a/DrissionPage/_pages/chromium_base.py +++ b/DrissionPage/_pages/chromium_base.py @@ -19,7 +19,7 @@ from .._elements.chromium_element import run_js, make_chromium_eles from .._elements.none_element import NoneElement from .._elements.session_element import make_session_ele from .._functions.cookies import CookiesList -from .._functions.elements import SessionElementsList, get_frame +from .._functions.elements import SessionElementsList, get_frame, ChromiumElementsList from .._functions.locator import get_loc from .._functions.settings import Settings from .._functions.tools import raise_error @@ -627,7 +627,7 @@ class ChromiumBase(BasePage): raise PageDisconnectedError if perf_counter() >= end_time: - return NoneElement(self) if index is not None else [] + return NoneElement(self) if index is not None else ChromiumElementsList() sleep(.1) timeout = end_time - perf_counter()