reconnect()包含browser

This commit is contained in:
g1879 2024-02-26 23:04:41 +08:00
parent a5b4951b5b
commit 12b6882d4c
3 changed files with 11 additions and 0 deletions

View File

@ -190,6 +190,14 @@ class Browser(object):
""" """
return self.run_cdp('Browser.getWindowForTarget', targetId=tab_id or self.id)['bounds'] return self.run_cdp('Browser.getWindowForTarget', targetId=tab_id or self.id)['bounds']
def reconnect(self):
"""断开重连"""
self._driver.stop()
self._driver = BrowserDriver(self.id, 'browser', self.address, self)
self.run_cdp('Target.setDiscoverTargets', discover=True)
self._driver.set_callback('Target.targetDestroyed', self._onTargetDestroyed)
self._driver.set_callback('Target.targetCreated', self._onTargetCreated)
def quit(self, timeout=5, force=False): def quit(self, timeout=5, force=False):
"""关闭浏览器 """关闭浏览器
:param timeout: 等待浏览器关闭超时时间 :param timeout: 等待浏览器关闭超时时间

View File

@ -56,6 +56,8 @@ class Browser(object):
def get_window_bounds(self, tab_id: str = None) -> dict: ... def get_window_bounds(self, tab_id: str = None) -> dict: ...
def reconnect(self) -> None: ...
def connect_to_page(self) -> None: ... def connect_to_page(self) -> None: ...
def _onTargetCreated(self, **kwargs) -> None: ... def _onTargetCreated(self, **kwargs) -> None: ...

View File

@ -865,6 +865,7 @@ class ChromiumBase(BasePage):
t_id = self._target_id t_id = self._target_id
self.disconnect() self.disconnect()
sleep(wait) sleep(wait)
self.browser.reconnect()
self._driver = self.browser._get_driver(t_id, self) self._driver = self.browser._get_driver(t_id, self)
def handle_alert(self, accept=True, send=None, timeout=None, next_one=False): def handle_alert(self, accept=True, send=None, timeout=None, next_one=False):