Files
MarcosFlorSalcedo 8ec55e40fc 1ra Versión
2026-07-14 18:24:27 -03:00

51 lines
1.7 KiB
Python

import sys
import time
from urllib.parse import quote
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
# Recibimos los datos
telefono = sys.argv[1]
mensaje = sys.argv[2]
chrome_options = Options()
chrome_options.add_argument("user-data-dir=C:\\whatsapp_sesion")
# Activa el modo invisible
chrome_options.add_argument("--headless=new")
# Le damos un tamaño de pantalla virtual grande
chrome_options.add_argument("--window-size=1920,1080")
driver = webdriver.Chrome(options=chrome_options)
try:
mensaje_encoded = quote(mensaje)
url = f"https://web.whatsapp.com/send?phone={telefono}&text={mensaje_encoded}"
driver.get(url)
wait = WebDriverWait(driver, 40)
# 1. Esperamos a que cargue el panel principal del chat
wait.until(EC.presence_of_element_located((By.XPATH, '//div[@id="main"]')))
# 2. Le damos 3 segundos para que WhatsApp termine de procesar el texto en la caja
time.sleep(15)
# 3. Buscamos la caja de texto directamente (está en el footer del chat)
caja_texto = wait.until(EC.presence_of_element_located((By.XPATH, '//footer//div[@contenteditable="true"]')))
# 4. Le enviamos la tecla "Enter" directamente a esa caja de texto
caja_texto.send_keys(Keys.ENTER)
# Esperamos 4 segundos para que aparezca el tilde gris antes de cerrar
time.sleep(7)
print("Mensaje enviado con éxito")
except Exception as e:
print(f"Error al enviar: {e}")
finally:
driver.quit()