Chrome DevTools Protocol client.
Currently Work In Progress.
```rust use chromeremoteinterface::Browser; use chromeremoteinterface::model::target::{CreateTargetCommand, AttachToTargetCommand};
async fn main() -> anyhow::Result<()> { let browser = Browser::launcher() .headless(true) // headless mode (Default) .launch() .await?;
let (mut client, task) = browser.connect().await?;
tokio::spawn(task); // Spawn message loop.
// Open new page
let response = client.request(CreateTargetCommand::builder()
.url("https://example.org/".into())
.build()
.unwrap()
)
.await?;
// Attach opened page.
let response = client
.request(AttachToTargetCommand::new((*response).clone(), Some(true)))
.await?;
// construct attached session.
let mut session = client.session(response);
// DO STUFF
Ok(())
} ```
Licensed under either of * Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) * MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.!
License: MIT OR Apache-2.0