INNER CODE UNIT · Rust

ref_selector

keon/browser-control · src/actions.rs:17

pub fn ref_selector(target: &str) -> String {
    match target.strip_prefix('@') {
        Some(r) => format!(r#"[data-browser-control-ref="{r}"]"#),
        None => target.to_string(),
    }
}

pub async fn mouse_click(c: &mut Cdp, x: i64, y: i64, button: &str, clicks: u64) -> Result<()> {
    if !["left", "right", "middle", "back", "forward"].contains(&button) {
        bail!("bad button {button:?}; use left/right/middle/back/forward")
    }
    for t in ["mousePressed", "mouseReleased"] {
        c.call(
            "Input.dispatchMouseEvent",
            json!({"type":t,"x":x,"y":y,"button":button,"clickCount":clicks}),
            true,
        )
        .await?;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…