pub struct ChromeDriver {
pub version: String,
pub browser_version: String,
/* private fields */
}
Fields§
§version: String
Chrome driver version
browser_version: String
Chrome browser version
Implementations§
Source§impl ChromeDriver
impl ChromeDriver
Sourcepub fn new() -> Self
pub fn new() -> Self
Create driver
Examples found in repository?
More examples
examples/custom_args.rs (line 5)
4async fn main() {
5 let mut driver = ChromeDriver::new();
6 driver
7 .set_driver_path("/usr/local/bin/chromedriver")
8 .set_browser_path("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")
9 .set_connect_timeout(2000)
10 .set_timeout(5000)
11 .init()
12 .await
13 .unwrap();
14
15 println!("driver version {}", driver.version);
16 println!("browser version {}", driver.browser_version);
17
18 if !driver.need_download() {
19 println!("no need to update driver");
20 return;
21 }
22
23 println!("updating driver ...");
24
25 match driver.try_download().await {
26 Ok(_) => println!("Download driver successful"),
27 Err(err) => eprintln!("Download driver failed, {}", err),
28 }
29}
Sourcepub fn set_driver_path(&mut self, path: &str) -> &mut Self
pub fn set_driver_path(&mut self, path: &str) -> &mut Self
Update chromedriver path. Default:
- mac:
/usr/local/bin/chromedriver
- linux:
/usr/bin/chromedriver
- windows: ``
Examples found in repository?
examples/custom_args.rs (line 7)
4async fn main() {
5 let mut driver = ChromeDriver::new();
6 driver
7 .set_driver_path("/usr/local/bin/chromedriver")
8 .set_browser_path("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")
9 .set_connect_timeout(2000)
10 .set_timeout(5000)
11 .init()
12 .await
13 .unwrap();
14
15 println!("driver version {}", driver.version);
16 println!("browser version {}", driver.browser_version);
17
18 if !driver.need_download() {
19 println!("no need to update driver");
20 return;
21 }
22
23 println!("updating driver ...");
24
25 match driver.try_download().await {
26 Ok(_) => println!("Download driver successful"),
27 Err(err) => eprintln!("Download driver failed, {}", err),
28 }
29}
Sourcepub fn set_browser_path(&mut self, path: &str) -> &mut Self
pub fn set_browser_path(&mut self, path: &str) -> &mut Self
Update chrome browser path. Default:
- mac:
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
- linux:
/usr/bin/google-chrome
- windows: ``
Examples found in repository?
examples/custom_args.rs (line 8)
4async fn main() {
5 let mut driver = ChromeDriver::new();
6 driver
7 .set_driver_path("/usr/local/bin/chromedriver")
8 .set_browser_path("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")
9 .set_connect_timeout(2000)
10 .set_timeout(5000)
11 .init()
12 .await
13 .unwrap();
14
15 println!("driver version {}", driver.version);
16 println!("browser version {}", driver.browser_version);
17
18 if !driver.need_download() {
19 println!("no need to update driver");
20 return;
21 }
22
23 println!("updating driver ...");
24
25 match driver.try_download().await {
26 Ok(_) => println!("Download driver successful"),
27 Err(err) => eprintln!("Download driver failed, {}", err),
28 }
29}
Sourcepub fn set_connect_timeout(&mut self, timeout: u64) -> &mut Self
pub fn set_connect_timeout(&mut self, timeout: u64) -> &mut Self
Update connect_timeout (ms) for download requests. Default: 5000.
Examples found in repository?
examples/custom_args.rs (line 9)
4async fn main() {
5 let mut driver = ChromeDriver::new();
6 driver
7 .set_driver_path("/usr/local/bin/chromedriver")
8 .set_browser_path("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")
9 .set_connect_timeout(2000)
10 .set_timeout(5000)
11 .init()
12 .await
13 .unwrap();
14
15 println!("driver version {}", driver.version);
16 println!("browser version {}", driver.browser_version);
17
18 if !driver.need_download() {
19 println!("no need to update driver");
20 return;
21 }
22
23 println!("updating driver ...");
24
25 match driver.try_download().await {
26 Ok(_) => println!("Download driver successful"),
27 Err(err) => eprintln!("Download driver failed, {}", err),
28 }
29}
Sourcepub fn set_timeout(&mut self, timeout: u64) -> &mut Self
pub fn set_timeout(&mut self, timeout: u64) -> &mut Self
Update timeout (ms) for download requests. Default: 5000.
Examples found in repository?
examples/custom_args.rs (line 10)
4async fn main() {
5 let mut driver = ChromeDriver::new();
6 driver
7 .set_driver_path("/usr/local/bin/chromedriver")
8 .set_browser_path("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")
9 .set_connect_timeout(2000)
10 .set_timeout(5000)
11 .init()
12 .await
13 .unwrap();
14
15 println!("driver version {}", driver.version);
16 println!("browser version {}", driver.browser_version);
17
18 if !driver.need_download() {
19 println!("no need to update driver");
20 return;
21 }
22
23 println!("updating driver ...");
24
25 match driver.try_download().await {
26 Ok(_) => println!("Download driver successful"),
27 Err(err) => eprintln!("Download driver failed, {}", err),
28 }
29}
Sourcepub async fn init(&mut self) -> Result<(), DriverError>
pub async fn init(&mut self) -> Result<(), DriverError>
Setup driver & browser version
Examples found in repository?
More examples
examples/custom_args.rs (line 11)
4async fn main() {
5 let mut driver = ChromeDriver::new();
6 driver
7 .set_driver_path("/usr/local/bin/chromedriver")
8 .set_browser_path("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")
9 .set_connect_timeout(2000)
10 .set_timeout(5000)
11 .init()
12 .await
13 .unwrap();
14
15 println!("driver version {}", driver.version);
16 println!("browser version {}", driver.browser_version);
17
18 if !driver.need_download() {
19 println!("no need to update driver");
20 return;
21 }
22
23 println!("updating driver ...");
24
25 match driver.try_download().await {
26 Ok(_) => println!("Download driver successful"),
27 Err(err) => eprintln!("Download driver failed, {}", err),
28 }
29}
Sourcepub fn need_download(&self) -> bool
pub fn need_download(&self) -> bool
Compare driver & browser version
Examples found in repository?
More examples
examples/custom_args.rs (line 18)
4async fn main() {
5 let mut driver = ChromeDriver::new();
6 driver
7 .set_driver_path("/usr/local/bin/chromedriver")
8 .set_browser_path("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")
9 .set_connect_timeout(2000)
10 .set_timeout(5000)
11 .init()
12 .await
13 .unwrap();
14
15 println!("driver version {}", driver.version);
16 println!("browser version {}", driver.browser_version);
17
18 if !driver.need_download() {
19 println!("no need to update driver");
20 return;
21 }
22
23 println!("updating driver ...");
24
25 match driver.try_download().await {
26 Ok(_) => println!("Download driver successful"),
27 Err(err) => eprintln!("Download driver failed, {}", err),
28 }
29}
Sourcepub async fn try_download(&self) -> Result<(), DriverError>
pub async fn try_download(&self) -> Result<(), DriverError>
Download Chromedriver
Examples found in repository?
More examples
examples/custom_args.rs (line 25)
4async fn main() {
5 let mut driver = ChromeDriver::new();
6 driver
7 .set_driver_path("/usr/local/bin/chromedriver")
8 .set_browser_path("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")
9 .set_connect_timeout(2000)
10 .set_timeout(5000)
11 .init()
12 .await
13 .unwrap();
14
15 println!("driver version {}", driver.version);
16 println!("browser version {}", driver.browser_version);
17
18 if !driver.need_download() {
19 println!("no need to update driver");
20 return;
21 }
22
23 println!("updating driver ...");
24
25 match driver.try_download().await {
26 Ok(_) => println!("Download driver successful"),
27 Err(err) => eprintln!("Download driver failed, {}", err),
28 }
29}
Auto Trait Implementations§
impl Freeze for ChromeDriver
impl RefUnwindSafe for ChromeDriver
impl Send for ChromeDriver
impl Sync for ChromeDriver
impl Unpin for ChromeDriver
impl UnwindSafe for ChromeDriver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more