Crate chrome_remote_interface[−][src]
Chrome DevTools Protocol client.
Currently Work In Progress.
Example
use chrome_remote_interface::Browser; use chrome_remote_interface::model::target::{CreateTargetCommand, AttachToTargetCommand}; #[tokio::main(flavor = "current_thread")] 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(()) }
License
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.
Contribution
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.!
Re-exports
pub use chrome_remote_interface_model as model; |
Structs
Browser | Represent instance. |
CdpClient | Chrome DevTools Protocol Client. |
CdpEvents | Stream for Chrome DevTools Protocol Event. |
CdpSession | Chrome DevTools Protocol Session. |
Launcher | Launcher (Builder) for Browser. |
Loop | Message loop. |
Enums
BrowserError | Operate browser error. |
BrowserType | Browser type. |
Error | Chrome DevTools Protocol Client Error. |
Type Definitions
Result | Chrome DevTools Protocol Result. |