INNER CODE UNIT · Rust
eval
keon/browser-control · src/cdp.rs:50
pub async fn eval(&mut self, expression: &str) -> Result<Value> {
let expression = js::wrap_return(expression);
let r = self
.call(
"Runtime.evaluate",
json!({"expression":expression,"awaitPromise":true,"returnByValue":true}),
true,
)
.await?;
if let Some(e) = r.get("exceptionDetails") {
bail!("eval exception: {}", js_exception(e))
}
Ok(r["result"]
.get("value")
.cloned()
.unwrap_or_else(|| r["result"].clone()))
}