ChromiumShadowRootElement改名为ChromiumShadowRoot

This commit is contained in:
g1879 2023-02-22 09:19:00 +08:00
parent 4328449b51
commit 35daaa2712
5 changed files with 23 additions and 23 deletions

View File

@ -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:

View File

@ -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: ...

View File

@ -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:

View File

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

View File

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