use eoka::{Browser, Result, StealthConfig};
#[tokio::main]
async fn main() -> Result<()> {
tracing_subscriber::fmt()
.with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
.init();
let config = StealthConfig {
headless: false, ..Default::default()
};
println!("Launching browser...");
let browser = Browser::launch_with_config(config).await?;
let version = browser.version().await?;
println!("Browser version: {}", version);
println!("Creating page and navigating to example.com...");
let page = browser.new_page("https://example.com").await?;
page.wait(1000).await;
let url = page.url().await?;
let title = page.title().await?;
println!("URL: {}", url);
println!("Title: {}", title);
let text = page.text().await?;
println!(
"Page text (first 200 chars): {}",
&text[..text.len().min(200)]
);
let screenshot = page.screenshot().await?;
std::fs::write("example_screenshot.png", screenshot)?;
println!("Screenshot saved to example_screenshot.png");
println!("Closing browser...");
browser.close().await?;
println!("Done!");
Ok(())
}