browser_oxide 0.1.2

Stealth headless browser engine in Rust: real HTML/CSS/DOM/JS, V8 via deno_core, own BoringSSL TLS/JA4 fingerprint, no Chromium, no CDP — for anti-bot web scraping, archival, and AI agents
Documentation
use crate::css_parser::SourceLocation;

#[derive(Debug, Clone, thiserror::Error)]
pub enum SelectorParseError {
    #[error("unexpected token at {loc:?}: {message}")]
    UnexpectedToken {
        loc: SourceLocation,
        message: String,
    },

    #[error("unexpected end of selector")]
    UnexpectedEof,

    #[error("empty selector")]
    EmptySelector,

    #[error("invalid An+B expression: {0}")]
    InvalidNth(String),

    #[error("unsupported pseudo-class: {0}")]
    UnsupportedPseudoClass(String),

    #[error("unsupported pseudo-element: {0}")]
    UnsupportedPseudoElement(String),
}