capture-rust 0.4.0

Rust SDK for capture.page - Browser automation and screenshot API
Documentation
use capture_rust::{Capture, CreateSessionOptions};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let api_key =
        std::env::var("CAPTURE_KEY").expect("CAPTURE_KEY environment variable is required");
    let api_secret =
        std::env::var("CAPTURE_SECRET").expect("CAPTURE_SECRET environment variable is required");

    let capture = Capture::new(api_key, api_secret);

    let created = capture
        .create_session(Some(&CreateSessionOptions {
            cdp: Some(true),
            max_ttl_seconds: Some(300),
            ..Default::default()
        }))
        .await?;

    let session_id = created["session"]["id"]
        .as_str()
        .expect("created session id");
    let connect_url = created["session"]["connectUrl"]
        .as_str()
        .expect("CDP connectUrl");

    println!("Session ID: {session_id}");
    println!("CDP connect URL: {connect_url}");

    capture.close_session(session_id).await?;

    Ok(())
}