use thirtyfour::cdp::domains::network::{ConnectionType, NetworkConditions};
use thirtyfour::prelude::*;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let driver = WebDriver::managed(DesiredCapabilities::chrome()).await?;
let info = driver.cdp().browser().get_version().await?;
println!("Chrome: {}", info.product);
println!("User agent: {}", info.user_agent);
driver
.cdp()
.network()
.emulate_network_conditions(NetworkConditions {
offline: false,
latency: 200,
download_throughput: 256 * 1024,
upload_throughput: 64 * 1024,
connection_type: Some(ConnectionType::Cellular3G),
})
.await?;
driver.cdp().network().clear_browser_cache().await?;
let raw = driver.cdp().send_raw("Browser.getVersion", serde_json::json!({})).await?;
println!("Raw response: {}", raw["userAgent"]);
driver.quit().await?;
Ok(())
}