mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
78 lines
1.7 KiB
Python
78 lines
1.7 KiB
Python
# -*- coding:utf-8 -*-
|
|
"""
|
|
@Author : g1879
|
|
@Contact : g1879@qq.com
|
|
"""
|
|
|
|
|
|
class BaseError(Exception):
|
|
_info = None
|
|
|
|
def __init__(self, ErrorInfo=None):
|
|
self._info = ErrorInfo or self._info
|
|
|
|
def __str__(self):
|
|
return self._info
|
|
|
|
|
|
class ElementNotFoundError(BaseError):
|
|
_info = '\n没有找到元素。'
|
|
|
|
def __init__(self, ErrorInfo=None, method=None, arguments=None):
|
|
super().__init__(ErrorInfo=ErrorInfo)
|
|
self.method = method
|
|
self.arguments = arguments
|
|
|
|
def __str__(self):
|
|
method = f'\nmethod: {self.method}' if self.method else ''
|
|
arguments = f'\nargs: {self.arguments}' if self.arguments else ''
|
|
return f'{self._info}{method}{arguments}'
|
|
|
|
|
|
class AlertExistsError(BaseError):
|
|
_info = '存在未处理的提示框。'
|
|
|
|
|
|
class ContextLossError(BaseError):
|
|
_info = '页面被刷新,请操作前尝试等待页面刷新或加载完成。'
|
|
|
|
|
|
class ElementLossError(BaseError):
|
|
_info = '元素对象因刷新已失效。'
|
|
|
|
|
|
class CDPError(BaseError):
|
|
_info = '方法调用错误。'
|
|
|
|
|
|
class PageClosedError(BaseError):
|
|
_info = '页面已关闭。'
|
|
|
|
|
|
class JavaScriptError(BaseError):
|
|
_info = 'JavaScript运行错误。'
|
|
|
|
|
|
class NoRectError(BaseError):
|
|
_info = '该元素没有位置及大小。'
|
|
|
|
|
|
class BrowserConnectError(BaseError):
|
|
_info = '浏览器连接失败。'
|
|
|
|
|
|
class NoResourceError(BaseError):
|
|
_info = '该元素无可保存的内容或保存失败。'
|
|
|
|
|
|
class CanNotClickError(BaseError):
|
|
_info = '该元素无法滚动到视口或被遮挡,无法点击。'
|
|
|
|
|
|
class GetDocumentError(BaseError):
|
|
_info = '获取文档失败。'
|
|
|
|
|
|
class WaitTimeoutError(BaseError):
|
|
_info = '等待失败。'
|