| cdp_eval |
function |
py |
browser |
1.0.0 |
impure |
def cdp_eval(expression: str, *, port: int = 9222, target_url_substr: str = '', await_promise: bool = False, timeout_s: float = 10.0) -> dict |
Evalua una expresion JavaScript en una pestana de un Chrome con remote debugging, eligiendo el target por substring de su URL. Primitiva de transport CDP reutilizable para operar el navegador diario por codigo sin abrir ventana nueva. |
| cdp |
| browser |
| automation |
| python |
| navegator |
|
|
|
|
false |
error_go_core |
| json |
| urllib.request |
| websocket |
|
| params |
output |
| name |
desc |
| expression |
Expresion JavaScript a evaluar en el contexto de la pagina (ej. 'document.title', 'document.querySelector(".x").click()'). |
|
| name |
desc |
| port |
Puerto de remote debugging de Chrome. Default 9222. |
|
| name |
desc |
| target_url_substr |
Substring que debe contener la URL del target (pestana). Si vacio, usa el primer target de tipo 'page'. |
|
| name |
desc |
| await_promise |
Si True, espera a que la expresion resuelva una Promise antes de devolver el valor (awaitPromise de CDP). Default False. |
|
| name |
desc |
| timeout_s |
Timeout en segundos para la conexion WebSocket. Default 10.0. |
|
|
dict {ok: bool, value: <valor Python serializable o None>, error: str, target_url: str}. ok=True si la evaluacion produjo valor sin excepcion. Nunca lanza: errores de red/conexion/excepcion JS se devuelven en 'error'. |
|
true |
| test_golden_selecciona_target_por_substr_y_devuelve_value |
| test_edge_substr_sin_match_devuelve_ok_false |
| test_error_urlopen_lanza_devuelve_ok_false |
|
python/functions/browser/cdp_eval_test.py |
python/functions/browser/cdp_eval.py |