| whatsapp_send_image |
function |
py |
browser |
1.0.0 |
impure |
def whatsapp_send_image(name: str, image_path: str, *, caption: str = '', port: int = 9222, target_url_substr: str = 'whatsapp', open_first: bool = True) -> dict |
Envia una imagen (con caption opcional) a un chat de WhatsApp Web en una pestana ya logueada del navegador diario via CDP, sin abrir ventana nueva ni darle foco. Abre el chat por nombre exacto (whatsapp_open_chat) y verifica el destinatario (salvaguarda anti-envio-equivocado), hace click real en 'Adjuntar' para exponer el <input type=file> vivo, asigna la imagen con cdp_set_file_input (DOM.setFileInputFiles), espera la bandeja inline y hace click en el boton enviar (icono wds-ic-send-filled) verificando que la bandeja se cerro. Si hay caption, lo envia como mensaje de texto de seguimiento via whatsapp_send_message (en la WhatsApp Web compacta actual el caption embebido en la imagen no es automatizable de forma fiable, asi que viaja como segunda burbuja [imagen][caption]). Accion con efecto: envia la imagen DE VERDAD, no reversible. |
| whatsapp |
| cdp |
| browser |
| automation |
| image |
| upload |
| python |
| navegator |
|
| whatsapp_open_chat_py_browser |
| cdp_eval_py_browser |
| cdp_click_xy_py_browser |
| cdp_set_file_input_py_browser |
| whatsapp_send_message_py_browser |
|
|
|
false |
error_go_core |
|
| params |
output |
| name |
desc |
| name |
Nombre EXACTO del chat o grupo destinatario tal y como aparece en la lista lateral. Se usa para abrir el chat y como salvaguarda de que el composer apunta al destinatario correcto antes de adjuntar. |
|
| name |
desc |
| image_path |
Ruta de la imagen a enviar. Se expande (~) y se convierte a ruta ABSOLUTA; debe existir en disco o aborta con error sin abrir el chat. |
|
| name |
desc |
| caption |
Texto opcional descriptivo. Se envia como un MENSAJE DE TEXTO de seguimiento (segunda burbuja [imagen][caption]) via whatsapp_send_message; '' (default) envia solo la imagen. La WhatsApp Web compacta actual no permite automatizar el caption embebido en la imagen de forma fiable. |
|
| 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). Default 'whatsapp'. |
|
| name |
desc |
| open_first |
Si True (default), abre el chat por su nombre antes de adjuntar. Si False, asume el chat ya abierto pero verifica el aria-label del composer contra name (aborta si no coincide). |
|
|
dict {ok: bool (imagen + caption enviados), sent: bool (imagen enviada), caption_sent: bool (caption de seguimiento enviado, False si no habia o fallo), recipient: str, image: str (ruta absoluta), caption: str, error: str (motivo del fallo, vacio si todo ok)}. sent=True solo si la imagen se adjunto y se envio dejando la bandeja vacia. Nunca lanza: los fallos se reportan en 'sent'/'ok' + 'error'. |
|
true |
| test_golden_envia_imagen_y_caption_de_seguimiento |
| test_envia_sin_caption_no_manda_texto |
| test_edge_imagen_no_existe_error_sin_abrir |
| test_edge_open_fallido_error_sin_adjuntar |
| test_seguridad_open_first_false_label_no_coincide_aborta |
| test_error_set_file_input_falla_no_envia |
|
python/functions/browser/whatsapp_send_image_test.py |
python/functions/browser/whatsapp_send_image.py |