#![cfg_attr(docsrs, feature(doc_auto_cfg))]
#[cfg(feature = "camoufox")]
pub mod browser;
#[cfg(feature = "cdp")]
pub mod cdp;
pub mod codec;
#[cfg(any(feature = "camoufox", feature = "cdp"))]
pub mod envkit;
pub mod error;
pub mod human;
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(any(feature = "camoufox", feature = "cdp"))]
pub mod pool;
pub mod protocol;
pub mod scrape;
#[cfg(feature = "camoufox")]
pub mod session;
pub mod static_element;
pub mod transport;
pub(crate) mod util;
#[cfg(feature = "camoufox")]
pub mod web_page;
pub(crate) mod xpath;
pub use error::{Error, Result};
pub mod prelude {
pub use crate::error::{Error, Result};
pub use crate::human::{HumanClickOpts, Humanize, ImageView, fetch_image};
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};
pub use crate::static_element::StaticElement;
#[cfg(feature = "cdp")]
pub use crate::cdp::ChromiumPool as Pool;
#[cfg(feature = "cdp")]
pub use crate::cdp::{
CdpIntercept as Intercept, CdpInterceptedRequest as InterceptedRequest,
CdpListen as Listen, ChromiumActions as Actions, ChromiumBrowser as Browser,
ChromiumConsole as Console, ChromiumDownloads as Downloads, ChromiumElement as Element,
ChromiumElementRect as ElementRect, ChromiumElementWait as ElementWait,
ChromiumFrame as Frame, ChromiumOptions as BrowserOptions, ChromiumPage as Page,
ChromiumScreencast as Screencast, ChromiumScroll as Scroll, ChromiumSetTab as SetTab,
ChromiumShadowRoot as ShadowRoot, ChromiumTab as Tab, ChromiumWait as Wait,
ChromiumWindow as Window, ChromiumWsListener as WsListener,
};
#[cfg(all(feature = "cdp", not(feature = "camoufox")))]
pub use crate::cdp::{
ChromiumContextOverride as ContextOverride, ChromiumPoolOptions as PoolOptions,
};
#[cfg(feature = "cdp")]
pub use crate::cdp::{
ConsoleData, ConsoleFilter, Cookie, CookieParam, DialogInfo, DownloadInfo, DownloadMission,
DownloadState, GetOptions, ImageFormat, LoadMode, PageRect, ShotOpts, WsDirection,
WsFilter, WsMessage,
};
#[cfg(all(feature = "camoufox", not(feature = "cdp")))]
pub use crate::browser::Browser;
#[cfg(all(feature = "camoufox", not(feature = "cdp")))]
pub use crate::browser::{
Actions, Console, ConsoleData, ConsoleFilter, Cookie, CookieParam, DialogInfo,
DownloadInfo, DownloadMission, DownloadState, Downloads, Element, ElementRect, ElementWait,
Frame, GetOptions, ImageFormat, Intercept, InterceptedRequest, Listen, LoadMode, PageRect,
Screencast, Scroll, SetTab, ShadowRoot, ShotOpts, Tab, Wait, Window, WsDirection, WsFilter,
WsListener, WsMessage,
};
#[cfg(all(feature = "camoufox", not(feature = "cdp")))]
pub use crate::launcher::BrowserOptions;
#[cfg(all(feature = "camoufox", not(feature = "cdp")))]
pub use crate::page::Page;
#[cfg(feature = "cdp")]
pub use crate::cdp::{
CdpIntercept, CdpInterceptedRequest, CdpListen, ChromiumActions, ChromiumBrowser,
ChromiumConsole, ChromiumContextOverride, ChromiumDownloads, ChromiumElement,
ChromiumElementRect, ChromiumElementWait, ChromiumFrame, ChromiumOptions, ChromiumPage,
ChromiumPool, ChromiumPoolOptions, ChromiumScreencast, ChromiumScroll, ChromiumSetTab,
ChromiumShadowRoot, ChromiumTab, ChromiumWait, ChromiumWindow, ChromiumWsListener,
};
#[cfg(feature = "camoufox")]
pub use crate::browser::{
Actions as CamoufoxActions, Browser as CamoufoxBrowser, Console as CamoufoxConsole,
Downloads as CamoufoxDownloads, Element as CamoufoxElement,
ElementRect as CamoufoxElementRect, ElementWait as CamoufoxElementWait,
Frame as CamoufoxFrame, Intercept as CamoufoxIntercept,
InterceptedRequest as CamoufoxInterceptedRequest, Listen as CamoufoxListen,
Screencast as CamoufoxScreencast, Scroll as CamoufoxScroll, SetTab as CamoufoxSetTab,
ShadowRoot as CamoufoxShadowRoot, Tab as CamoufoxTab, Wait as CamoufoxWait,
Window as CamoufoxWindow, WsListener as CamoufoxWsListener,
};
#[cfg(feature = "camoufox")]
pub use crate::launcher::BrowserOptions as CamoufoxOptions;
#[cfg(feature = "camoufox")]
pub use crate::page::Page as CamoufoxPage;
#[cfg(feature = "camoufox")]
pub use crate::browser::{
BrowserServer, ConsoleSteps, ContextOverride, ListenStream, MouseButton, OriginStorage,
ScreencastMode, StorageState, WsSocket, WsSteps,
};
#[cfg(all(feature = "camoufox", not(feature = "cdp")))]
pub use crate::browser::{EnvDumper, EnvProbe};
#[cfg(feature = "camoufox")]
pub use crate::browser::{EnvDumper as CamoufoxEnvDumper, EnvProbe as CamoufoxEnvProbe};
#[cfg(feature = "slider")]
pub use crate::browser::{
GapMethod, ImageSource, SliderConfig, SliderGap, SliderResult, SuccessCheck,
};
#[cfg(feature = "cdp")]
pub use crate::cdp::{
ChromiumEnvDumper, ChromiumEnvDumper as EnvDumper, ChromiumEnvProbe,
ChromiumEnvProbe as EnvProbe,
};
#[cfg(any(feature = "camoufox", feature = "cdp"))]
pub use crate::envkit::{EnvDump, EnvScope, EnvTarget};
#[cfg(feature = "camoufox")]
pub use crate::launcher::{Fingerprint, Geolocation, OsType, Proxy};
#[cfg(feature = "camoufox")]
pub use crate::pool::{
BrowserPool, FingerprintPool, FingerprintProfile, PoolOptions, ProxyGeo, ProxyHealth,
ProxyPool,
};
#[cfg(any(feature = "camoufox", feature = "cdp"))]
pub use crate::pool::{Checkpoint, RetryPolicy, RotateStrategy};
#[cfg(feature = "camoufox")]
pub use crate::session::{BrowserProfile, PostData, SessionOptions, SessionPage};
#[cfg(feature = "camoufox")]
pub use crate::web_page::{PageMode, WebPage};
#[cfg(feature = "ocr")]
pub use crate::ocr::{BBox, ClickHit, ClickWord, Det, GlyphMatcher, Ocr, SampleBank};
}