use chaser_oxide::browser::{Browser, BrowserConfig};
use futures::StreamExt;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
tracing_subscriber::fmt::init();
let (browser, mut handler) =
Browser::launch(BrowserConfig::builder().with_head().build()?).await?;
let handle = tokio::spawn(async move {
loop {
let _ = handler.next().await.unwrap();
}
});
let page = browser.new_page("about:blank").await?;
page.add_init_script(
r#"
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
});
"#,
)
.await?;
page.goto("https://www.wikipedia.org")
.await?
.find_element("h1")
.await?;
let _html = page.wait_for_navigation().await?.content().await?;
handle.await?;
Ok(())
}