mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
4.1.0.0b4set.tab_to_front()标记即将废弃,用activate_tab()代替;Frame增加set.property()和set.style()
This commit is contained in:
parent
58285fc0ad
commit
523f92f640
@ -14,4 +14,4 @@ from ._pages.chromium_page import ChromiumPage
|
|||||||
from ._pages.mix_page import MixPage
|
from ._pages.mix_page import MixPage
|
||||||
from ._pages.mix_page import MixPage as WebPage
|
from ._pages.mix_page import MixPage as WebPage
|
||||||
|
|
||||||
__version__ = '4.1.0.0b3'
|
__version__ = '4.1.0.0b4'
|
||||||
|
@ -376,15 +376,17 @@ class Chromium(object):
|
|||||||
while self.tabs_count != end_len and perf_counter() < end_time:
|
while self.tabs_count != end_len and perf_counter() < end_time:
|
||||||
sleep(.1)
|
sleep(.1)
|
||||||
|
|
||||||
def activate_tab(self, id_or_ind):
|
def activate_tab(self, id_ind_tab):
|
||||||
"""使标签页变为活动状态
|
"""使标签页变为活动状态
|
||||||
:param id_or_ind: 标签页id(str)或标签页序号(int),序号从1开始
|
:param id_ind_tab: 标签页id(str)、Tab对象或标签页序号(int),序号从1开始
|
||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
if isinstance(id_or_ind, int):
|
if isinstance(id_ind_tab, int):
|
||||||
id_or_ind += -1 if id_or_ind else 1
|
id_ind_tab += -1 if id_ind_tab else 1
|
||||||
id_or_ind = self.tab_ids[id_or_ind]
|
id_ind_tab = self.tab_ids[id_ind_tab]
|
||||||
self._run_cdp('Target.activateTarget', targetId=id_or_ind)
|
elif isinstance(id_ind_tab, ChromiumTab):
|
||||||
|
id_ind_tab = id_ind_tab.tab_id
|
||||||
|
self._run_cdp('Target.activateTarget', targetId=id_ind_tab)
|
||||||
|
|
||||||
def reconnect(self):
|
def reconnect(self):
|
||||||
"""断开重连"""
|
"""断开重连"""
|
||||||
|
@ -135,7 +135,7 @@ class Chromium(object):
|
|||||||
mix: bool = False,
|
mix: bool = False,
|
||||||
as_id: bool = False) -> List[ChromiumTab, str]: ...
|
as_id: bool = False) -> List[ChromiumTab, str]: ...
|
||||||
|
|
||||||
def activate_tab(self, tab_id: Union[int, str]) -> None: ...
|
def activate_tab(self, id_ind_tab: Union[int, str, ChromiumTab]) -> None: ...
|
||||||
|
|
||||||
def _new_tab(self,
|
def _new_tab(self,
|
||||||
obj,
|
obj,
|
||||||
|
@ -148,12 +148,12 @@ class ChromiumPage(ChromiumBase):
|
|||||||
"""
|
"""
|
||||||
return self.browser.new_tab(url=url, new_window=new_window, background=background, new_context=new_context)
|
return self.browser.new_tab(url=url, new_window=new_window, background=background, new_context=new_context)
|
||||||
|
|
||||||
def activate_tab(self, id_or_ind):
|
def activate_tab(self, id_ind_tab):
|
||||||
"""使标签页变为活动状态
|
"""使标签页变为活动状态
|
||||||
:param id_or_ind: 标签页id(str)或标签页序号(int),序号从1开始
|
:param id_ind_tab: 标签页id(str)、Tab对象或标签页序号(int),序号从1开始
|
||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
self.browser.activate_tab(id_or_ind)
|
self.browser.activate_tab(id_ind_tab)
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
"""关闭Page管理的标签页"""
|
"""关闭Page管理的标签页"""
|
||||||
|
@ -101,7 +101,7 @@ class ChromiumPage(ChromiumBase):
|
|||||||
def new_tab(self, url: str = None, new_window: bool = False, background: bool = False,
|
def new_tab(self, url: str = None, new_window: bool = False, background: bool = False,
|
||||||
new_context: bool = False) -> ChromiumTab: ...
|
new_context: bool = False) -> ChromiumTab: ...
|
||||||
|
|
||||||
def activate_tab(self, tab_id: Union[int, str]) -> None: ...
|
def activate_tab(self, id_ind_tab: Union[int, str, ChromiumTab]) -> None: ...
|
||||||
|
|
||||||
def close(self) -> None: ...
|
def close(self) -> None: ...
|
||||||
|
|
||||||
|
@ -229,15 +229,6 @@ class BrowserSetter(BrowserBaseSetter):
|
|||||||
self._cookies_setter = BrowserCookiesSetter(self._owner)
|
self._cookies_setter = BrowserCookiesSetter(self._owner)
|
||||||
return self._cookies_setter
|
return self._cookies_setter
|
||||||
|
|
||||||
def tab_to_front(self, tab_or_id):
|
|
||||||
"""激活标签页使其处于最前面
|
|
||||||
:param tab_or_id: 标签页对象或id
|
|
||||||
:return: None
|
|
||||||
"""
|
|
||||||
if not isinstance(tab_or_id, str): # 传入Tab对象
|
|
||||||
tab_or_id = tab_or_id.tab_id
|
|
||||||
self._owner.activate_tab(tab_or_id)
|
|
||||||
|
|
||||||
def auto_handle_alert(self, on_off=True, accept=True):
|
def auto_handle_alert(self, on_off=True, accept=True):
|
||||||
"""设置是否启用自动处理弹窗
|
"""设置是否启用自动处理弹窗
|
||||||
:param on_off: bool表示开或关
|
:param on_off: bool表示开或关
|
||||||
@ -274,6 +265,16 @@ class BrowserSetter(BrowserBaseSetter):
|
|||||||
raise ValueError(f'''mode参数只能是 '{"', '".join(types.keys())}' 之一,现在是:{mode}''')
|
raise ValueError(f'''mode参数只能是 '{"', '".join(types.keys())}' 之一,现在是:{mode}''')
|
||||||
self._owner._dl_mgr.set_file_exists('browser', mode)
|
self._owner._dl_mgr.set_file_exists('browser', mode)
|
||||||
|
|
||||||
|
# ---------- 即将废弃 ----------
|
||||||
|
def tab_to_front(self, tab_or_id):
|
||||||
|
"""激活标签页使其处于最前面
|
||||||
|
:param tab_or_id: 标签页对象或id
|
||||||
|
:return: None
|
||||||
|
"""
|
||||||
|
if not isinstance(tab_or_id, str): # 传入Tab对象
|
||||||
|
tab_or_id = tab_or_id.tab_id
|
||||||
|
self._owner.activate_tab(tab_or_id)
|
||||||
|
|
||||||
|
|
||||||
class ChromiumBaseSetter(BrowserBaseSetter):
|
class ChromiumBaseSetter(BrowserBaseSetter):
|
||||||
|
|
||||||
@ -427,17 +428,6 @@ class TabSetter(ChromiumBaseSetter):
|
|||||||
|
|
||||||
class ChromiumPageSetter(TabSetter):
|
class ChromiumPageSetter(TabSetter):
|
||||||
|
|
||||||
def tab_to_front(self, tab_or_id=None):
|
|
||||||
"""激活标签页使其处于最前面
|
|
||||||
:param tab_or_id: 标签页对象或id,为None表示当前标签页
|
|
||||||
:return: None
|
|
||||||
"""
|
|
||||||
if not tab_or_id:
|
|
||||||
tab_or_id = self._owner.tab_id
|
|
||||||
elif not isinstance(tab_or_id, str): # 传入Tab对象
|
|
||||||
tab_or_id = tab_or_id.tab_id
|
|
||||||
self._owner.browser.activate_tab(tab_or_id)
|
|
||||||
|
|
||||||
def auto_handle_alert(self, on_off=True, accept=True, all_tabs=False):
|
def auto_handle_alert(self, on_off=True, accept=True, all_tabs=False):
|
||||||
"""设置是否启用自动处理弹窗
|
"""设置是否启用自动处理弹窗
|
||||||
:param on_off: bool表示开或关
|
:param on_off: bool表示开或关
|
||||||
@ -450,6 +440,18 @@ class ChromiumPageSetter(TabSetter):
|
|||||||
else:
|
else:
|
||||||
self._owner._alert.auto = accept if on_off else None
|
self._owner._alert.auto = accept if on_off else None
|
||||||
|
|
||||||
|
# ---------- 即将废弃 ----------
|
||||||
|
def tab_to_front(self, tab_or_id=None):
|
||||||
|
"""激活标签页使其处于最前面
|
||||||
|
:param tab_or_id: 标签页对象或id,为None表示当前标签页
|
||||||
|
:return: None
|
||||||
|
"""
|
||||||
|
if not tab_or_id:
|
||||||
|
tab_or_id = self._owner.tab_id
|
||||||
|
elif not isinstance(tab_or_id, str): # 传入Tab对象
|
||||||
|
tab_or_id = tab_or_id.tab_id
|
||||||
|
self._owner.browser.activate_tab(tab_or_id)
|
||||||
|
|
||||||
|
|
||||||
class MixPageSetter(ChromiumPageSetter):
|
class MixPageSetter(ChromiumPageSetter):
|
||||||
def __init__(self, owner):
|
def __init__(self, owner):
|
||||||
@ -589,6 +591,22 @@ class ChromiumFrameSetter(ChromiumBaseSetter):
|
|||||||
"""
|
"""
|
||||||
self._owner.frame_ele.set.attr(name, value)
|
self._owner.frame_ele.set.attr(name, value)
|
||||||
|
|
||||||
|
def property(self, name, value):
|
||||||
|
"""设置元素property属性
|
||||||
|
:param name: 属性名
|
||||||
|
:param value: 属性值
|
||||||
|
:return: None
|
||||||
|
"""
|
||||||
|
self._owner.frame_ele.set.property(name=name, value=value)
|
||||||
|
|
||||||
|
def style(self, name, value):
|
||||||
|
"""设置元素style样式
|
||||||
|
:param name: 样式名称
|
||||||
|
:param value: 样式值
|
||||||
|
:return: None
|
||||||
|
"""
|
||||||
|
self._owner.frame_ele.set.style(name=name, value=value)
|
||||||
|
|
||||||
|
|
||||||
class LoadMode(object):
|
class LoadMode(object):
|
||||||
"""用于设置页面加载策略的类"""
|
"""用于设置页面加载策略的类"""
|
||||||
|
@ -98,8 +98,6 @@ class BrowserSetter(BrowserBaseSetter):
|
|||||||
_owner: Chromium = ...
|
_owner: Chromium = ...
|
||||||
_cookies_setter: BrowserCookiesSetter = ...
|
_cookies_setter: BrowserCookiesSetter = ...
|
||||||
|
|
||||||
def tab_to_front(self, tab_or_id: Union[str, ChromiumTab]) -> None: ...
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def cookies(self) -> BrowserCookiesSetter: ...
|
def cookies(self) -> BrowserCookiesSetter: ...
|
||||||
|
|
||||||
@ -159,8 +157,6 @@ class TabSetter(ChromiumBaseSetter):
|
|||||||
class ChromiumPageSetter(TabSetter):
|
class ChromiumPageSetter(TabSetter):
|
||||||
_owner: ChromiumPage = ...
|
_owner: ChromiumPage = ...
|
||||||
|
|
||||||
def tab_to_front(self, tab_or_id: Union[str, ChromiumTab] = None) -> None: ...
|
|
||||||
|
|
||||||
def auto_handle_alert(self, on_off: bool = True, accept: bool = True, all_tabs: bool = False) -> None: ...
|
def auto_handle_alert(self, on_off: bool = True, accept: bool = True, all_tabs: bool = False) -> None: ...
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user