This commit is contained in:
g1879 2023-03-02 16:55:16 +08:00
parent f5b6e3c90f
commit 9555afa396
5 changed files with 11 additions and 6 deletions

View File

@ -18,7 +18,7 @@ from .commons.locator import get_loc
from .commons.tools import get_usable_path from .commons.tools import get_usable_path
from .commons.web import cookies_to_tuple from .commons.web import cookies_to_tuple
from .errors import ContextLossError, ElementLossError, AlertExistsError, CallMethodError, TabClosedError, \ from .errors import ContextLossError, ElementLossError, AlertExistsError, CallMethodError, TabClosedError, \
NoRectError NoRectError, BrowserConnectError
from .session_element import make_session_ele from .session_element import make_session_ele
@ -66,7 +66,7 @@ class ChromiumBase(BasePage):
json = self._control_session.get(f'http://{self.address}/json').json() json = self._control_session.get(f'http://{self.address}/json').json()
tab_id = [i['id'] for i in json if i['type'] == 'page'] tab_id = [i['id'] for i in json if i['type'] == 'page']
if not tab_id: if not tab_id:
raise ConnectionError('连接浏览器失败。') raise BrowserConnectError('浏览器连接失败。')
tab_id = tab_id[0] tab_id = tab_id[0]
self._driver_init(tab_id) self._driver_init(tab_id)
self._get_document() self._get_document()

View File

@ -17,7 +17,7 @@ from .chromium_tab import ChromiumTab
from .commons.browser import connect_browser from .commons.browser import connect_browser
from .commons.web import set_session_cookies from .commons.web import set_session_cookies
from .configs.chromium_options import ChromiumOptions from .configs.chromium_options import ChromiumOptions
from .errors import CallMethodError from .errors import CallMethodError, BrowserConnectError
from .session_page import DownloadSetter from .session_page import DownloadSetter
@ -81,7 +81,7 @@ class ChromiumPage(ChromiumBase):
json = self._control_session.get(f'http://{self.address}/json').json() json = self._control_session.get(f'http://{self.address}/json').json()
tab_id = [i['id'] for i in json if i['type'] == 'page'] tab_id = [i['id'] for i in json if i['type'] == 'page']
if not tab_id: if not tab_id:
raise ConnectionError('连接浏览器失败。') raise BrowserConnectError('浏览器连接失败。')
tab_id = tab_id[0] tab_id = tab_id[0]
self._driver_init(tab_id) self._driver_init(tab_id)

View File

@ -13,6 +13,7 @@ from time import perf_counter, sleep
from requests import get as requests_get from requests import get as requests_get
from DrissionPage.configs.chromium_options import ChromiumOptions from DrissionPage.configs.chromium_options import ChromiumOptions
from DrissionPage.errors import BrowserConnectError
from .tools import port_is_using, get_exe_from_port from .tools import port_is_using, get_exe_from_port
@ -157,7 +158,7 @@ def _run_browser(port, path: str, args) -> Popen:
except Exception: except Exception:
sleep(.2) sleep(.2)
raise ConnectionError('连接浏览器失败。') raise BrowserConnectError
def _make_leave_in_dict(target_dict: dict, src: list, num: int, end: int) -> None: def _make_leave_in_dict(target_dict: dict, src: list, num: int, end: int) -> None:

View File

@ -42,3 +42,7 @@ class JavaScriptError(BaseError):
class NoRectError(BaseError): class NoRectError(BaseError):
_info = '该元素没有位置及大小。' _info = '该元素没有位置及大小。'
class BrowserConnectError(BaseError):
_info = '浏览器连接失败。'

View File

@ -6,7 +6,7 @@ with open("README.md", "r", encoding='utf-8') as fh:
setup( setup(
name="DrissionPage", name="DrissionPage",
version="3.2.5", version="3.2.6",
author="g1879", author="g1879",
author_email="g1879@qq.com", author_email="g1879@qq.com",
description="Python based web automation tool. It can control the browser and send and receive data packets.", description="Python based web automation tool. It can control the browser and send and receive data packets.",