runtime_foxdriver/lib.rs
1//! Firefox browser automation via WebDriver BiDi (rustenium).
2//!
3//! This crate provides a spawn-capable Firefox runtime: launch, drive,
4//! evaluate, click, type, scroll, screenshot, cookies, and frames.
5//! It is intentionally **independent** of `guise` (the stealth substrate)
6//! so the fleet's layering stays one-way: guise may depend on foxdriver
7//! for its `browser` feature, but foxdriver knows nothing about stealth
8//! profiles, fingerprint bundles, or TLS impersonation.
9//!
10//! Consumers that need stealth should use `guise::browser` (which wraps
11//! foxdriver with profile application) rather than using foxdriver directly.
12
13#![forbid(unsafe_code)]
14
15pub mod browser;
16pub mod cookies;
17pub mod dialog;
18pub mod frame;
19pub mod frame_graph;
20pub mod network;
21pub mod runtime;
22pub mod sensors;
23
24// Re-export the most common types at the crate root for ergonomics.
25pub use browser::{launch_firefox, launch_firefox_self_managed, proxy_prefs, Element, EvaluationResult, FoxBrowserConfig, FrameId, FrameInfo, Page, ProxyConfig, ProxyScheme, ScrollDirection};
26pub use cookies::CapturedCookie;
27pub use dialog::{CapturedDialog, CapturedDownload, DialogLog};
28pub use network::{CapturedHeader, CapturedRequest, CapturedResponse, Filter, NetworkEntry, NetworkLog};
29pub use runtime::drive_browser;