mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
删除go_anyway参数;重试连接默认不显示
This commit is contained in:
parent
ca23c6b0d7
commit
60fb789cd9
@ -346,7 +346,6 @@ class BasePage(BaseParser):
|
|||||||
@abstractmethod
|
@abstractmethod
|
||||||
def get(self,
|
def get(self,
|
||||||
url: str,
|
url: str,
|
||||||
go_anyway: bool = False,
|
|
||||||
show_errmsg: bool = False,
|
show_errmsg: bool = False,
|
||||||
retry: int = None,
|
retry: int = None,
|
||||||
interval: float = None):
|
interval: float = None):
|
||||||
|
@ -64,24 +64,22 @@ class DriverPage(BasePage):
|
|||||||
|
|
||||||
def get(self,
|
def get(self,
|
||||||
url: str,
|
url: str,
|
||||||
go_anyway: bool = False,
|
|
||||||
show_errmsg: bool = False,
|
show_errmsg: bool = False,
|
||||||
retry: int = None,
|
retry: int = None,
|
||||||
interval: float = None) -> Union[None, bool]:
|
interval: float = None) -> Union[None, bool]:
|
||||||
"""访问url \n
|
"""访问url \n
|
||||||
:param url: 目标url
|
:param url: 目标url
|
||||||
:param go_anyway: 若目标url与当前url一致,是否强制跳转
|
|
||||||
:param show_errmsg: 是否显示和抛出异常
|
:param show_errmsg: 是否显示和抛出异常
|
||||||
:param retry: 重试次数
|
:param retry: 重试次数
|
||||||
:param interval: 重试间隔(秒)
|
:param interval: 重试间隔(秒)
|
||||||
:return: 目标url是否可用
|
:return: 目标url是否可用,返回None表示不确定
|
||||||
"""
|
"""
|
||||||
to_url = quote(url, safe='/:&?=%;#@+!')
|
to_url = quote(url, safe='/:&?=%;#@+!')
|
||||||
retry = int(retry) if retry is not None else int(self.retry_times)
|
retry = retry if retry is not None else self.retry_times
|
||||||
interval = int(interval) if interval is not None else int(self.retry_interval)
|
interval = interval if interval is not None else self.retry_interval
|
||||||
|
|
||||||
if not url or (not go_anyway and self.url == to_url):
|
if not url:
|
||||||
return
|
raise ValueError('没有传入url。')
|
||||||
|
|
||||||
self._url = to_url
|
self._url = to_url
|
||||||
self._url_available = self._try_to_connect(to_url, times=retry, interval=interval, show_errmsg=show_errmsg)
|
self._url_available = self._try_to_connect(to_url, times=retry, interval=interval, show_errmsg=show_errmsg)
|
||||||
@ -178,13 +176,13 @@ class DriverPage(BasePage):
|
|||||||
to_url: str,
|
to_url: str,
|
||||||
times: int = 0,
|
times: int = 0,
|
||||||
interval: float = 1,
|
interval: float = 1,
|
||||||
show_errmsg: bool = False):
|
show_errmsg: bool = False) -> Union[bool, None]:
|
||||||
"""尝试连接,重试若干次 \n
|
"""尝试连接,重试若干次 \n
|
||||||
:param to_url: 要访问的url
|
:param to_url: 要访问的url
|
||||||
:param times: 重试次数
|
:param times: 重试次数
|
||||||
:param interval: 重试间隔(秒)
|
:param interval: 重试间隔(秒)
|
||||||
:param show_errmsg: 是否抛出异常
|
:param show_errmsg: 是否抛出异常
|
||||||
:return: 是否成功
|
:return: 是否成功,返回None表示不确定
|
||||||
"""
|
"""
|
||||||
err = None
|
err = None
|
||||||
is_ok = False
|
is_ok = False
|
||||||
@ -204,6 +202,7 @@ class DriverPage(BasePage):
|
|||||||
|
|
||||||
if _ < times:
|
if _ < times:
|
||||||
sleep(interval)
|
sleep(interval)
|
||||||
|
if show_errmsg:
|
||||||
print(f'重试 {to_url}')
|
print(f'重试 {to_url}')
|
||||||
|
|
||||||
if is_ok is False and show_errmsg:
|
if is_ok is False and show_errmsg:
|
||||||
|
@ -113,24 +113,22 @@ class MixPage(SessionPage, DriverPage, BasePage):
|
|||||||
|
|
||||||
def get(self,
|
def get(self,
|
||||||
url: str,
|
url: str,
|
||||||
go_anyway: bool = False,
|
|
||||||
show_errmsg: bool = False,
|
show_errmsg: bool = False,
|
||||||
retry: int = None,
|
retry: int = None,
|
||||||
interval: float = None,
|
interval: float = None,
|
||||||
**kwargs) -> Union[bool, None]:
|
**kwargs) -> Union[bool, None]:
|
||||||
"""跳转到一个url \n
|
"""跳转到一个url \n
|
||||||
:param url: 目标url
|
:param url: 目标url
|
||||||
:param go_anyway: 若目标url与当前url一致,是否强制跳转
|
|
||||||
:param show_errmsg: 是否显示和抛出异常
|
:param show_errmsg: 是否显示和抛出异常
|
||||||
:param retry: 重试次数
|
:param retry: 重试次数
|
||||||
:param interval: 重试间隔(秒)
|
:param interval: 重试间隔(秒)
|
||||||
:param kwargs: 连接参数,s模式专用
|
:param kwargs: 连接参数,s模式专用
|
||||||
:return: url是否可用
|
:return: url是否可用,d模式返回None时表示不确定
|
||||||
"""
|
"""
|
||||||
if self._mode == 'd':
|
if self._mode == 'd':
|
||||||
return super(SessionPage, self).get(url, go_anyway, show_errmsg, retry, interval)
|
return super(SessionPage, self).get(url, show_errmsg, retry, interval)
|
||||||
elif self._mode == 's':
|
elif self._mode == 's':
|
||||||
return super().get(url, go_anyway, show_errmsg, retry, interval, **kwargs)
|
return super().get(url, show_errmsg, retry, interval, **kwargs)
|
||||||
|
|
||||||
def ele(self,
|
def ele(self,
|
||||||
loc_or_ele: Union[Tuple[str, str], str, DriverElement, SessionElement, WebElement],
|
loc_or_ele: Union[Tuple[str, str], str, DriverElement, SessionElement, WebElement],
|
||||||
@ -220,7 +218,7 @@ class MixPage(SessionPage, DriverPage, BasePage):
|
|||||||
:param interval: 重试间隔(秒)
|
:param interval: 重试间隔(秒)
|
||||||
:param show_errmsg: 是否抛出异常
|
:param show_errmsg: 是否抛出异常
|
||||||
:param kwargs: 连接参数
|
:param kwargs: 连接参数
|
||||||
:return: s模式为Response对象,d模式为bool
|
:return: s模式为Response对象,d模式为bool或None
|
||||||
"""
|
"""
|
||||||
if self._mode == 'd':
|
if self._mode == 'd':
|
||||||
return super(SessionPage, self)._try_to_connect(to_url, times, interval, show_errmsg)
|
return super(SessionPage, self)._try_to_connect(to_url, times, interval, show_errmsg)
|
||||||
@ -356,15 +354,13 @@ class MixPage(SessionPage, DriverPage, BasePage):
|
|||||||
def post(self,
|
def post(self,
|
||||||
url: str,
|
url: str,
|
||||||
data: Union[dict, str] = None,
|
data: Union[dict, str] = None,
|
||||||
go_anyway: bool = True,
|
|
||||||
show_errmsg: bool = False,
|
show_errmsg: bool = False,
|
||||||
retry: int = None,
|
retry: int = None,
|
||||||
interval: float = None,
|
interval: float = None,
|
||||||
**kwargs) -> Union[bool, None]:
|
**kwargs) -> bool:
|
||||||
"""用post方式跳转到url,会切换到s模式 \n
|
"""用post方式跳转到url,会切换到s模式 \n
|
||||||
:param url: 目标url
|
:param url: 目标url
|
||||||
:param data: post方式时提交的数据
|
:param data: post方式时提交的数据
|
||||||
:param go_anyway: 若目标url与当前url一致,是否强制跳转
|
|
||||||
:param show_errmsg: 是否显示和抛出异常
|
:param show_errmsg: 是否显示和抛出异常
|
||||||
:param retry: 重试次数
|
:param retry: 重试次数
|
||||||
:param interval: 重试间隔(秒)
|
:param interval: 重试间隔(秒)
|
||||||
@ -372,7 +368,7 @@ class MixPage(SessionPage, DriverPage, BasePage):
|
|||||||
:return: url是否可用
|
:return: url是否可用
|
||||||
"""
|
"""
|
||||||
self.change_mode('s', go=False)
|
self.change_mode('s', go=False)
|
||||||
return super().post(url, data, go_anyway, show_errmsg, retry, interval, **kwargs)
|
return super().post(url, data, show_errmsg, retry, interval, **kwargs)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def download(self) -> DownloadKit:
|
def download(self) -> DownloadKit:
|
||||||
|
@ -59,14 +59,12 @@ class SessionPage(BasePage):
|
|||||||
|
|
||||||
def get(self,
|
def get(self,
|
||||||
url: str,
|
url: str,
|
||||||
go_anyway: bool = False,
|
|
||||||
show_errmsg: bool = False,
|
show_errmsg: bool = False,
|
||||||
retry: int = None,
|
retry: int = None,
|
||||||
interval: float = None,
|
interval: float = None,
|
||||||
**kwargs) -> Union[bool, None]:
|
**kwargs) -> bool:
|
||||||
"""用get方式跳转到url \n
|
"""用get方式跳转到url \n
|
||||||
:param url: 目标url
|
:param url: 目标url
|
||||||
:param go_anyway: 若目标url与当前url一致,是否强制跳转
|
|
||||||
:param show_errmsg: 是否显示和抛出异常
|
:param show_errmsg: 是否显示和抛出异常
|
||||||
:param retry: 重试次数
|
:param retry: 重试次数
|
||||||
:param interval: 重试间隔(秒)
|
:param interval: 重试间隔(秒)
|
||||||
@ -74,11 +72,11 @@ class SessionPage(BasePage):
|
|||||||
:return: url是否可用
|
:return: url是否可用
|
||||||
"""
|
"""
|
||||||
to_url = quote(url, safe='/:&?=%;#@+!')
|
to_url = quote(url, safe='/:&?=%;#@+!')
|
||||||
retry = int(retry) if retry is not None else int(self.retry_times)
|
retry = retry if retry is not None else self.retry_times
|
||||||
interval = int(interval) if interval is not None else int(self.retry_interval)
|
interval = interval if interval is not None else self.retry_interval
|
||||||
|
|
||||||
if not url or (not go_anyway and self.url == to_url):
|
if not url:
|
||||||
return
|
raise ValueError('没有传入url。')
|
||||||
|
|
||||||
self._url = to_url
|
self._url = to_url
|
||||||
self._response = self._try_to_connect(to_url, times=retry, interval=interval, show_errmsg=show_errmsg, **kwargs)
|
self._response = self._try_to_connect(to_url, times=retry, interval=interval, show_errmsg=show_errmsg, **kwargs)
|
||||||
@ -198,6 +196,7 @@ class SessionPage(BasePage):
|
|||||||
|
|
||||||
if _ < times:
|
if _ < times:
|
||||||
sleep(interval)
|
sleep(interval)
|
||||||
|
if show_errmsg:
|
||||||
print(f'重试 {to_url}')
|
print(f'重试 {to_url}')
|
||||||
|
|
||||||
if not r and show_errmsg:
|
if not r and show_errmsg:
|
||||||
@ -226,15 +225,13 @@ class SessionPage(BasePage):
|
|||||||
def post(self,
|
def post(self,
|
||||||
url: str,
|
url: str,
|
||||||
data: Union[dict, str] = None,
|
data: Union[dict, str] = None,
|
||||||
go_anyway: bool = True,
|
|
||||||
show_errmsg: bool = False,
|
show_errmsg: bool = False,
|
||||||
retry: int = None,
|
retry: int = None,
|
||||||
interval: float = None,
|
interval: float = None,
|
||||||
**kwargs) -> Union[bool, None]:
|
**kwargs) -> bool:
|
||||||
"""用post方式跳转到url \n
|
"""用post方式跳转到url \n
|
||||||
:param url: 目标url
|
:param url: 目标url
|
||||||
:param data: 提交的数据
|
:param data: 提交的数据
|
||||||
:param go_anyway: 若目标url与当前url一致,是否强制跳转
|
|
||||||
:param show_errmsg: 是否显示和抛出异常
|
:param show_errmsg: 是否显示和抛出异常
|
||||||
:param retry: 重试次数
|
:param retry: 重试次数
|
||||||
:param interval: 重试间隔(秒)
|
:param interval: 重试间隔(秒)
|
||||||
@ -242,11 +239,11 @@ class SessionPage(BasePage):
|
|||||||
:return: url是否可用
|
:return: url是否可用
|
||||||
"""
|
"""
|
||||||
to_url = quote(url, safe='/:&?=%;#@+!')
|
to_url = quote(url, safe='/:&?=%;#@+!')
|
||||||
retry = int(retry) if retry is not None else int(self.retry_times)
|
retry = retry if retry is not None else self.retry_times
|
||||||
interval = int(interval) if interval is not None else int(self.retry_interval)
|
interval = interval if interval is not None else self.retry_interval
|
||||||
|
|
||||||
if not url or (not go_anyway and self._url == to_url):
|
if not url:
|
||||||
return
|
raise ValueError('没有传入url。')
|
||||||
|
|
||||||
self._url = to_url
|
self._url = to_url
|
||||||
self._response = self._try_to_connect(to_url, retry, interval, 'post', data, show_errmsg, **kwargs)
|
self._response = self._try_to_connect(to_url, retry, interval, 'post', data, show_errmsg, **kwargs)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user