use playwright_rs::Playwright;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let playwright = Playwright::launch().await?;
let browser = playwright.chromium().launch().await?;
let page = browser.new_page().await?;
page.goto("https://www.google.com", None).await?;
let search = page.locator("textarea[name=q]").await;
search.click(None).await?;
search.fill("Playwright Rust", None).await?;
let value = search.input_value(None).await?;
assert_eq!(value, "Playwright Rust");
println!("Search input contains: {}", value);
search.clear(None).await?;
search.fill("Rust browser automation", None).await?;
search.press("Enter", None).await?;
tokio::time::sleep(tokio::time::Duration::from_secs(1)).await;
println!("Search completed, URL: {}", page.url());
browser.close().await?;
Ok(())
}