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()