#![cfg_attr(docsrs, feature(doc_auto_cfg))]
#[cfg(feature = "camoufox")]
pub mod browser;
#[cfg(feature = "cdp")]
pub mod cdp;
pub mod codec;
pub mod error;
pub mod keys;
#[cfg(feature = "camoufox")]
pub mod launcher;
pub mod locator;
pub mod net;
#[cfg(feature = "ocr")]
pub mod ocr;
#[cfg(feature = "camoufox")]
pub mod page;
#[cfg(feature = "camoufox")]
pub mod pool;
pub mod protocol;
pub mod scrape;
#[cfg(feature = "camoufox")]
pub mod session;
pub mod transport;
pub(crate) mod util;
#[cfg(feature = "camoufox")]
pub mod web_page;
pub use error::{Error, Result};
pub mod prelude {
pub use crate::error::{Error, Result};
pub use crate::keys::{KeyInput, Keys};
pub use crate::locator::{Query, parse as parse_locator};
pub use crate::net::{DataPacket, ListenFilter, RequestData, ResponseData, ResumeOptions};
pub use crate::scrape::{records_to_csv, records_to_json, rows_to_csv, write_csv, write_json};
#[cfg(feature = "camoufox")]
pub use crate::browser::{
Actions, Browser, BrowserServer, Console, ConsoleData, ConsoleFilter, ConsoleSteps,
ContextOverride, Cookie, CookieParam, DialogInfo, DownloadInfo, DownloadMission,
DownloadState, Downloads, Element, ElementRect, ElementWait, EnvDump, EnvDumper, EnvProbe,
EnvScope, EnvTarget, Frame, GetOptions, ImageFormat, Intercept, InterceptedRequest, Listen,
ListenStream, LoadMode, MouseButton, OriginStorage, PageRect, Screencast, ScreencastMode,
Scroll, SetTab, ShadowRoot, ShotOpts, StaticElement, StorageState, Tab, Wait, Window,
WsDirection, WsFilter, WsListener, WsMessage, WsSocket, WsSteps,
};
#[cfg(feature = "slider")]
pub use crate::browser::{
GapMethod, ImageSource, SliderConfig, SliderGap, SliderResult, SuccessCheck,
};
#[cfg(feature = "camoufox")]
pub use crate::launcher::{BrowserOptions, Fingerprint, Geolocation, OsType, Proxy};
#[cfg(feature = "camoufox")]
pub use crate::page::Page;
#[cfg(feature = "camoufox")]
pub use crate::pool::{
BrowserPool, Checkpoint, FingerprintPool, FingerprintProfile, PoolOptions, ProxyGeo,
ProxyHealth, ProxyPool, RetryPolicy, RotateStrategy,
};
#[cfg(feature = "camoufox")]
pub use crate::session::{PostData, SessionOptions, SessionPage};
#[cfg(feature = "camoufox")]
pub use crate::web_page::{PageMode, WebPage};
#[cfg(feature = "cdp")]
pub use crate::cdp::{
CdpIntercept, CdpInterceptedRequest, CdpListen, ChromiumBrowser, ChromiumElement,
ChromiumElementRect, ChromiumTab,
};
#[cfg(feature = "ocr")]
pub use crate::ocr::Ocr;
}