1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
#[derive(PartialEq)] #[derive(Debug)] #[derive(Copy, Clone)] pub enum Selector { Css, XPath, TagName, LinkText, PartialLinkText } impl Selector { pub fn to_string(self) -> &'static str { match self { Selector::Css => "css selector", Selector::XPath => "xpath", Selector::TagName => "tag name", Selector::LinkText => "link text", Selector::PartialLinkText => "partial link text" } } } #[derive(PartialEq)] #[derive(Debug)] #[derive(Copy, Clone)] pub enum Browser { Firefox, Chrome } impl Browser { pub fn to_string(self) -> &'static str { match self { Browser::Firefox => "firefox", Browser::Chrome => "chrome" } } } struct Options { headless: bool } #[derive(PartialEq)] #[derive(Debug)] #[derive(Copy, Clone)] pub enum Platform { Linux, Windows, Unknow } impl Platform { pub fn to_string(self) -> &'static str { match self { Platform::Linux => "linux", Platform::Windows => "windows", Platform::Unknow => "unknow" } } pub fn current() -> Platform { if cfg!(unix) { Platform::Linux } else if cfg!(windows) { Platform::Windows } else { Platform::Unknow } } }