Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use the Rust crate thirtyfour as a Selenium-compatible WebDriver client: connect to ChromeDriver, navigate to the page, wait for the content you need, save the PNG bytes, then explicitly quit the session. Rust does not have an official Selenium language binding in the sources reviewed; thirtyfour implements W3C WebDriver and documents browser and element screenshots. The example below follows its documented managed-ChromeDriver workflow. Check the pinned crate version’s API before compiling because screenshot method signatures can change. thirtyfour documentation

What you need

  • A Rust project with Tokio enabled for its async runtime and macros.
  • Chrome installed in an environment compatible with the ChromeDriver version.
  • The thirtyfour crate, a Rust WebDriver client that lists Chrome among its tested browsers.

The crate documents WebDriver::managed as a way to download a matching ChromeDriver, start it locally, and manage its lifetime with the session. This is distinct from Selenium Manager, which is documented for Selenium language bindings; do not assume a Rust client invokes Selenium Manager automatically.

Capture a screenshot using thirtyfour

1. Add dependencies

Pin the crate version you check against rather than relying on an unbounded version. The docs.rs listing was version 0.37.5 when consulted; verify the current listing and its Tokio feature requirements before using that version.

[dependencies]
thirtyfour = "0.37.5"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }

2. Connect, navigate, save, and quit

The following is the complete workflow, with the screenshot call expressed as the version-specific API placeholder because the extracted crate documentation establishes PNG screenshot support but does not establish its exact method signature. Replace that marked line with the screenshot method documented for your pinned version; do not copy a method name from Java or Python Selenium.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Acer Predator Helios Neo 18 AI Gaming Laptop | Intel Core Ultra 9 Processor 275HX | NVIDIA GeForce RTX 5070 Ti | 18" WQXGA 240Hz G-SYNC | 32GB DDR5 | 2TB Gen 4 SSD | Killer Wi-Fi 6E | PHN18-72-9474
  • Desktop-Level Performance, Anywhere: Get legendary gaming performance with the Intel Core Ultra 9 275HX processor, delivering ultra-smooth gameplay and future-ready AI (Up to 13 NPU TOPS). Offload tasks like background removal and audio optimization to the NPU for seamless streaming and gaming, while Intel Application Optimization enhances performance on classic titles.
  • Game-Changing Realism: Powered by NVIDIA Blackwell architecture, GeForce RTX 5070 Ti Laptop GPU unlocks the game changing realism of full ray tracing. Equipped with a massive level of 992 AI TOPS horsepower, the RTX 50 Series enables new experiences and next-level graphics fidelity. Experience cinematic quality visuals at unprecedented speed with fourth-gen RT Cores and breakthrough neural rendering technologies accelerated with fifth-gen Tensor Cores.
  • Supreme Speed. Superior Visuals. Powered by AI: DLSS is a revolutionary suite of neural rendering technologies that uses AI to boost FPS, reduce latency, and improve image quality. DLSS 4 brings a new Multi Frame Generation and enhanced Ray Reconstruction and Super Resolution, powered by GeForce RTX 50 Series GPUs and fifth-generation Tensor Cores.
  • The Ultimate in Ray Tracing and AI: NVIDIA RTX is the most advanced platform for full ray tracing and neural rendering technologies that are revolutionizing the ways we play and create. Over 700 games and applications use RTX to deliver realistic graphics and incredibly fast performance with cutting-edge AI features like DLSS Multi Frame Generation.
  • Immersive Depth and Detail: At 18 inches with a 16:10 aspect ratio, the pristine WQXGA screen offering vibrant colors with up to 100% DCI-P3 operates at a fast 240Hz refresh and 3ms overdrive response time. Alongside the suite of features from NVIDIA G-SYNC and NVIDIA Advanced Optimus, you're guaranteed that whatever's on-screen is a distinct viewing delight.
use std::fs;
use thirtyfour::prelude::*;

#[tokio::main]
async fn main() -> WebDriverResult<()> {
    let caps = DesiredCapabilities::chrome();
    let driver = WebDriver::managed(caps).await?;

    driver.goto("https://example.com").await?;

    // Wait for the page content you need, rather than relying on a fixed sleep.
    // For example, use thirtyfour's query/wait API for a page-specific selector.

    // Use the browser screenshot method documented for your pinned thirtyfour version
    // to obtain PNG bytes, then save them:
    // let png_bytes = ...;
    // fs::write("screenshot.png", png_bytes)?;

    driver.quit().await?;
    Ok(())
}

This intentionally shows the crate-documented setup and lifecycle but is not a copy-paste runnable screenshot program until the version-specific screenshot call is filled in. The filesystem write uses Rust’s standard library; ensure the output directory exists if you change screenshot.png to a nested path. The crate supports PNG screenshots of the browser and individual elements.

3. Wait for the right page state

Navigation completing does not necessarily mean the element you want has rendered. Prefer thirtyfour‘s query polling or explicit waits for a page-specific selector. A fixed delay can be both too short on a slow run and unnecessarily long on a fast one. Decide what “ready” means for the page—such as a headline or chart being present—and wait for that condition before capture.

4. Close the WebDriver session

Call driver.quit().await? on normal completion so shutdown errors can be returned and handled. The crate documentation warns that relying on drop as a fallback can block the async executor and does not let you observe shutdown errors.

Choose how ChromeDriver is managed

Approach How it works Useful when Trade-off
WebDriver::managed The documented thirtyfour helper downloads a matching ChromeDriver, starts it locally, and manages its lifecycle. You want a small local setup and the environment can obtain the driver. Driver acquisition and compatibility depend on the managed workflow and installed Chrome; verify behavior for the crate version and deployment environment.
Manual or external WebDriver Install Chrome or Chromium and ChromeDriver yourself, make the driver discoverable (for example through PATH), or connect to an independently managed WebDriver service or Grid. You need controlled versions, restricted-network deployment, or a remote browser service. You own driver installation, path configuration, and keeping browser and driver versions compatible.

ChromeDriver is a separate executable. Chrome’s setup guide describes installing the browser, obtaining the platform driver, and making it discoverable. Its options also support command-line arguments and specifying a custom browser binary path when needed. ChromeDriver setup · ChromeDriver capabilities and ChromeOptions

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
msi Katana 15 HX 15.6” 165Hz QHD+ Gaming Laptop: Intel Core i9-14900HX, NVIDIA Geforce RTX 5070, 32GB DDR5, 1TB NVMe SSD, RGB Keyboard, Win 11 Home: Black B14WGK-016US
  • Intel Core i9 HX Power for Elite Gaming: Dominate demanding titles with the Intel Core i9-14900HX and its 24-core hybrid architecture, delivering fast load times, high FPS, and smooth multitasking.
  • GeForce RTX 5070 With Ray Tracing & DLSS 4: Powered by NVIDIA Blackwell, the RTX 5070 delivers stronger ray tracing, higher FPS, faster AI upscaling, and more responsive gameplay—ideal for competitive and cinematic gaming.
  • QHD 165Hz, 100% DCI-P3 for Ultra-Clear Combat: The QHD 165Hz display reveals more detail, reduces motion blur, and boosts visibility in fast-paced games while delivering richer, more accurate colors.
  • Cooler Boost 5 for Sustained Performance: Dual fans and a 5-heat-pipe share-pipe design keep the CPU and GPU cool, maintaining stable frame rates during long gaming marathons.
  • 4-Zone RGB Keyboard + Full Game-Ready Ports: Customize your setup with a 4-zone RGB keyboard and highlighted WASD keys. Includes USB-C Gen 2, HDMI up to 8K, multiple USB-A ports, RJ45, Wi-Fi 6E & Hi-Res Audio.

Version drift is a common manual-setup failure: Selenium Manager documentation describes a case where Chrome updated from version 113 to 115 while the manually downloaded driver stayed at 113, producing a session-creation compatibility error. Those are an example of past versions, not current release guidance. Selenium Manager documentation

Screenshot scope and page behavior

A normal WebDriver screenshot captures the current browsing context; the Selenium documentation describes its protocol response as Base64 data. Do not assume that an ordinary screenshot call produces a full-page image: the cited sources do not establish full-page behavior for this Rust workflow. If you need full-page output, confirm that the exact client, browser, and method you use support it before building on that assumption. Selenium WebDriver browser documentation

Rank #4
Sale
15.6" Laptop with Win 11, N4020 CPU, 4GB RAM, 128GB, FHD 1080P Display
  • Vibrant 15.6" FHD IPS Display: Experience stunning visuals on a large 15.6-inch Full HD (1920x1080) IPS screen. With narrow bezels and wide viewing angles, this laptop offers an immersive experience for streaming movies, online classes, or working on documents with crystal-clear detail
  • Efficient Daily Performance: Powered by the Intel Celeron N4020 processor and 4GB LPDDR4 RAM, this notebook delivers reliable performance for web browsing, light multitasking, and school projects. The 128GB storage provides ample space for your essential files, photos, and apps
  • Modern Connectivity & PD Fast Charge: Equipped with a versatile Type-C PD 45W port for fast charging and high-speed data transfer. Combined with Dual-Band AC WiFi and Bluetooth, you’ll enjoy a stable and fast internet connection for seamless video calls and cloud-based work
  • Silent & Ultra-Portable Design: Featuring an advanced fanless cooling system, this laptop operates in total silence—perfect for libraries or late-night study sessions. Its sleek, lightweight body fits easily into backpacks, making it the ideal companion for students and commuters
  • Ready for Work & Play: Pre-installed with Windows 11 Home, offering a secure and user-friendly interface. Includes a HD webcam and high-quality speakers for clear communication. A practical choice for online learning, remote work, or everyday entertainment

Troubleshooting

Session creation fails or Chrome will not start

  • For a manually installed driver, confirm ChromeDriver is installed for the operating system and architecture, and that its executable is discoverable at the configured path or through PATH.
  • Check that Chrome/Chromium is installed and that the browser and driver versions are compatible. If Chrome updated while a manually managed driver did not, update or deliberately coordinate the versions.
  • If using a non-default browser location, check the ChromeOptions capability for setting the browser binary path.

The screenshot is blank or misses content

  • Wait for a selector that represents the content you need rather than capturing immediately after navigation.
  • Check whether the page content is in the current browsing context and whether your chosen screenshot scope is appropriate.
  • Confirm the output bytes are saved to the path you expect and that the parent directory exists.

The program hangs or shutdown errors go unnoticed

Quit explicitly with driver.quit().await? rather than relying on destruction of the driver value. This also allows normal Rust error propagation for session shutdown.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server. A single GET request can return a PNG, JPEG, WebP, or PDF. For Rust, make the request with an HTTP client and save the response body:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Sale
AKCHART 15.6'' AI Laptop with Office 365 12GB RAM 256GB SSD Win 11 Laptops
  • Stunning 15.6" FHD IPS Display: Experience crisp 1920x1080 resolution on this 15.6 inch laptop with an IPS panel that delivers wide viewing angles and vivid colors. The narrow-bezel design maximizes screen real estate for comfortable viewing on this Win 11 laptop, whether you're studying or working.
  • Celeron J4105 Processor & 256GB SSD: Powered by a reliable Celeron J4105 processor paired with 12GB DDR4 memory and a fast 256GB M.2 SSD. This laptop computer supports SSD expansion up to 2TB and TF card expansion up to 1TB, so your storage grows with your needs. Delivers smooth multitasking for daily productivity.
  • AI-Powered Win 11 Laptop: Built-in AI features enhance your productivity with smart assistance for writing, summarizing, and task management. Pre-installed with Win 11 and includes Office 365 subscription. This student laptop is backed by 1-year warranty and 24/7 customer support.
  • All-Day 7000mAh Battery & 180° Hinge: The high-capacity 7000mAh battery keeps this laptop powered through long classes or meetings. The 180-degree lay-flat hinge lets you share your screen effortlessly during presentations. This durable laptop computer adapts to your dynamic workflow.
  • Versatile Connectivity Hub: Equipped with USB 3.2, Type-C, Mini HDMI, and 3.5mm audio jack to connect all your peripherals. Stay online anywhere with high-speed 5G WiFi and Bluetooth 4.2. This college laptop keeps you connected at home, in the library, or on the go.
use std::fs;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let response = reqwest::blocking::Client::new()
        .get("https://api.screenshotneo.com/v1/shot")
        .query(&[
            ("access_key", "YOUR_API_KEY"),
            ("url", "https://example.com"),
        ])
        .send()?
        .error_for_status()?;

    fs::write("shot.webp", response.bytes()?)?;
    Ok(())
}

See the ScreenshotNeo API documentation for authentication and response details. Cookie banners, newsletter popups, and chat widgets are removed before capture; those cleanup steps can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and responses identify the page verdict and billing status in headers. Its MCP server offers take_screenshot, get_page_info, and capture_pdf for AI agents. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Sign up free for 1,000 screenshots a month, no card required.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.