diff --git a/DrissionPage/chromium_element.py b/DrissionPage/chromium_element.py index 4303ef9..edab5fe 100644 --- a/DrissionPage/chromium_element.py +++ b/DrissionPage/chromium_element.py @@ -162,7 +162,7 @@ class ChromiumElement(DrissionElement): if not info.get('shadowRoots', None): return None - return ChromiumShadowRootElement(self, backend_id=info['shadowRoots'][0]['backendNodeId']) + return ChromiumShadowRoot(self, backend_id=info['shadowRoots'][0]['backendNodeId']) @property def sr(self): @@ -809,8 +809,8 @@ class ChromiumElement(DrissionElement): return self._doc_id -class ChromiumShadowRootElement(BaseElement): - """ChromiumShadowRootElement是用于处理ShadowRoot的类,使用方法和ChromiumElement基本一致""" +class ChromiumShadowRoot(BaseElement): + """ChromiumShadowRoot是用于处理ShadowRoot的类,使用方法和ChromiumElement基本一致""" def __init__(self, parent_ele, obj_id=None, backend_id=None): """ @@ -1306,7 +1306,7 @@ def run_js(page_or_ele, script, as_expr=False, timeout=None, args=None): :param args: 参数,按顺序在js文本中对应argument[0]、argument[1]... :return: js执行结果 """ - if isinstance(page_or_ele, (ChromiumElement, ChromiumShadowRootElement)): + if isinstance(page_or_ele, (ChromiumElement, ChromiumShadowRoot)): page = page_or_ele.page obj_id = page_or_ele.ids.obj_id is_page = False @@ -1362,7 +1362,7 @@ def parse_js_result(page, ele, result): elif sub_type == 'node': class_name = result['className'] if class_name == 'ShadowRoot': - return ChromiumShadowRootElement(ele, obj_id=result['objectId']) + return ChromiumShadowRoot(ele, obj_id=result['objectId']) elif class_name == 'HTMLDocument': return result else: diff --git a/DrissionPage/chromium_element.pyi b/DrissionPage/chromium_element.pyi index b2eb340..515ca38 100644 --- a/DrissionPage/chromium_element.pyi +++ b/DrissionPage/chromium_element.pyi @@ -83,10 +83,10 @@ class ChromiumElement(DrissionElement): def pseudo(self) -> Pseudo: ... @property - def shadow_root(self) -> Union[None, ChromiumShadowRootElement]: ... + def shadow_root(self) -> Union[None, ChromiumShadowRoot]: ... @property - def sr(self) -> Union[None, ChromiumShadowRootElement]: ... + def sr(self) -> Union[None, ChromiumShadowRoot]: ... @property def scroll(self) -> ChromiumScroll: ... @@ -217,7 +217,7 @@ class ChromiumElementStates(object): def is_in_viewport(self) -> bool: ... -class ChromiumShadowRootElement(BaseElement): +class ChromiumShadowRoot(BaseElement): def __init__(self, parent_ele: ChromiumElement, @@ -301,8 +301,8 @@ class ChromiumShadowRootElement(BaseElement): class Ids(object): - def __init__(self, ele: Union[ChromiumElement, ChromiumShadowRootElement]): - self._ele: Union[ChromiumElement, ChromiumShadowRootElement] = ... + def __init__(self, ele: Union[ChromiumElement, ChromiumShadowRoot]): + self._ele: Union[ChromiumElement, ChromiumShadowRoot] = ... @property def node_id(self) -> str: ... @@ -347,7 +347,7 @@ def make_chromium_ele(page: ChromiumBase, node_id: str = ..., obj_id: str = ...) def make_js_for_find_ele_by_xpath(xpath: str, type_txt: str, node_txt: str) -> str: ... -def run_js(page_or_ele: Union[ChromiumBase, ChromiumElement, ChromiumShadowRootElement], script: str, +def run_js(page_or_ele: Union[ChromiumBase, ChromiumElement, ChromiumShadowRoot], script: str, as_expr: bool = False, timeout: float = None, args: tuple = ...) -> Any: ... @@ -375,11 +375,11 @@ class ChromiumElementSetter(object): class ShadowRootElementStates(object): - def __init__(self, ele: ChromiumShadowRootElement): + def __init__(self, ele: ChromiumShadowRoot): """ :param ele: ChromiumElement """ - self._ele: ChromiumShadowRootElement = ... + self._ele: ChromiumShadowRoot = ... @property def is_enabled(self) -> bool: ... diff --git a/DrissionPage/chromium_frame.py b/DrissionPage/chromium_frame.py index 79c1657..8b9bb1d 100644 --- a/DrissionPage/chromium_frame.py +++ b/DrissionPage/chromium_frame.py @@ -99,14 +99,6 @@ class ChromiumFrame(ChromiumBase): self._reload() # sleep(2) - def _onLoadEventFired(self, **kwargs): - """在页面刷新、变化后重新读取页面内容""" - # 用于覆盖父类方法,不能删 - if self._debug: - print('loadEventFired') - if self._debug_recorder: - self._debug_recorder.add_data((perf_counter(), '加载流程', 'loadEventFired')) - def _get_new_document(self): """刷新cdp使用的document数据""" if not self._is_reading: @@ -137,6 +129,14 @@ class ChromiumFrame(ChromiumBase): self._is_loading = False self._is_reading = False + def _onLoadEventFired(self, **kwargs): + """在页面刷新、变化后重新读取页面内容""" + # 用于覆盖父类方法,不能删 + if self._debug: + print('loadEventFired') + if self._debug_recorder: + self._debug_recorder.add_data((perf_counter(), '加载流程', 'loadEventFired')) + def _onFrameStartedLoading(self, **kwargs): """页面开始加载时触发""" if kwargs['frameId'] == self.frame_id: diff --git a/DrissionPage/mixpage/session_element.py b/DrissionPage/mixpage/session_element.py index fda9392..07a9fcb 100644 --- a/DrissionPage/mixpage/session_element.py +++ b/DrissionPage/mixpage/session_element.py @@ -317,7 +317,7 @@ def make_session_ele(html_or_ele, loc=None, single=True): page = None html_or_ele = fromstring(html_or_ele) - # ShadowRootElement, ChromiumShadowRootElement, ChromiumFrame + # ShadowRootElement, ChromiumShadowRoot, ChromiumFrame elif isinstance(html_or_ele, BaseElement) or the_type.endswith(".ChromiumFrame'>"): page = html_or_ele.page html_or_ele = fromstring(html_or_ele.html) diff --git a/DrissionPage/session_element.py b/DrissionPage/session_element.py index 5b46b23..e7b88d9 100644 --- a/DrissionPage/session_element.py +++ b/DrissionPage/session_element.py @@ -319,7 +319,7 @@ def make_session_ele(html_or_ele, loc=None, single=True): page = None html_or_ele = fromstring(html_or_ele) - # ShadowRootElement, ChromiumShadowRootElement, ChromiumFrame + # ShadowRootElement, ChromiumShadowRoot, ChromiumFrame elif isinstance(html_or_ele, BaseElement) or the_type.endswith(".ChromiumFrame'>"): page = html_or_ele.page html_or_ele = fromstring(html_or_ele.html)