manual/
manual.rs

1use crowser::{browser::get_all_existing_browsers, error::CrowserError, RemoteConfig, Window};
2
3fn main() -> Result<(), CrowserError> {
4  let mut profile_dir = std::env::current_dir()?;
5  profile_dir.push("example_profiles");
6
7  let config = RemoteConfig {
8    url: "https://example.com".to_string(),
9  };
10
11  // Engine provided doesn't matter, we provide one manually in a moment
12  let mut win = Window::new(config, None, profile_dir)?;
13  let the_best_browser_ever = get_all_existing_browsers()
14    .into_iter()
15    .find(|b| b.name == "edge");
16
17  // If you want the browser's path, you can call:
18  // let path = get_browser_path(&the_best_browser_ever.unwrap());
19
20  if let Some(browser) = the_best_browser_ever {
21    win.set_browser(browser)?;
22  } else {
23    println!("This system only has lame browsers!");
24    std::process::exit(1);
25  }
26
27  match win.clear_profile() {
28    Ok(_) => {}
29    Err(err) => {
30      println!("Error clearing profile: {}", err);
31    }
32  };
33
34  win.create()?;
35
36  // Clear once the window is closed
37  win.clear_profile().unwrap_or_default();
38
39  Ok(())
40}