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
//! This crate allows you to control a web browser (Firefox or chrome) easily. //! It does not use selenium, which is much more lightweight. //! It only uses geckodriver or chromedriver (you have to download the one you want to use depending on your browser and place it in your program's directory). //! This crate can launch the driver and kill his process after, but if one is already running, it will be used. //! A lot of improvements can be done. Feel free to contribute. //! //! # Example //! //! ```rust //! use lw_webdriver::{session::Session, enums::{Browser, Selector}}; //! use std::{thread, time::Duration}; //! //! // start session //! let mut session = Session::new(Browser::Firefox, false).unwrap(); //! //! // load a website //! session.tabs[0].navigate("https://mubelotix.dev/").unwrap(); //! //! // click a link //! let mut element = session.tabs[0].find(Selector::XPath, "//a[@href='https://www.kerbalspaceprogram.com/']").unwrap().unwrap(); //! element.click().unwrap(); //! //! # thread::sleep(Duration::from_secs(5)); //! ``` //! //! # Running tests //! //! Run tests one by one: //! //! ```ignore //! cargo test -- --test-threads=1 //! ``` pub mod session; pub mod enums; pub mod tab; pub mod elements; pub mod timeouts; pub mod error; mod http_requests;