lw_webdriver/
error.rs

1#[derive(PartialEq)]
2#[derive(Debug)]
3#[derive(Clone)]
4pub enum WebdriverError {
5    UnsupportedPlatform,
6    FailedRequest,
7    InvalidResponse,
8    Unknow,
9    ElementClickIntercepted,
10    ElementNotInteractable,
11    InsecureCertificate,
12    InvalidArgument,
13    InvalidCookieDomain,
14    InvalidElementState,
15    InvalidSelector,
16    InvalidSessionId,
17    JavascriptError,
18    MoveTargetOutOfBounds,
19    NoSuchAlert,
20    NoSuchCookie,
21    NoSuchElement,
22    NoSuchFrame,
23    NoSuchWindow,
24    ScriptTimeoutError,
25    SessionNotCreated,
26    StaleElementReference,
27    Timeout,
28    UnnableToSetCookie,
29    UnableToCaptureScreen,
30    UnexpectedAlertOpen,
31    UnknowCommand,
32    UnknowError,
33    UnknowMethod,
34    UnsupportedOperation,
35    Custom(String)
36}
37
38impl WebdriverError {
39    pub fn from(error: String) -> Self {
40        match error.as_str() {
41            "element click intercepted" => WebdriverError::ElementClickIntercepted,
42            "element not interactable" => WebdriverError::ElementNotInteractable,
43            "insecure certificate" => WebdriverError::InsecureCertificate,
44            "invalid argument" => WebdriverError::InvalidArgument,
45            "invalid cookie domain" => WebdriverError::InvalidCookieDomain,
46            "invalid element state" => WebdriverError::InvalidElementState,
47            "invalid selector" => WebdriverError::InvalidSelector,
48            "invalid session id " => WebdriverError::InvalidSessionId,
49            "javascript error" => WebdriverError::JavascriptError,
50            "move target out of bounds" => WebdriverError::MoveTargetOutOfBounds,
51            "no such alert" => WebdriverError::NoSuchAlert,
52            "no such cookie" => WebdriverError::NoSuchCookie,
53            "no such element" => WebdriverError::NoSuchElement,
54            "no such frame" => WebdriverError::NoSuchFrame,
55            "no such window" => WebdriverError::NoSuchWindow,
56            "script timeout error" => WebdriverError::ScriptTimeoutError,
57            "session not created" => WebdriverError::SessionNotCreated,
58            "stale element reference" => WebdriverError::StaleElementReference,
59            "timeout" => WebdriverError::Timeout,
60            "unable to set cookie" => WebdriverError::UnnableToSetCookie,
61            "unable to capture screen" => WebdriverError::UnableToCaptureScreen,
62            "unexpected alert open" => WebdriverError::UnexpectedAlertOpen,
63            "unknown command" => WebdriverError::UnknowCommand,
64            "unknown error" => WebdriverError::Unknow,
65            "unknown method" => WebdriverError::UnknowMethod,
66            "unsupported operation" => WebdriverError::UnsupportedOperation,
67            _ => WebdriverError::Custom(error),
68        }
69    }
70}