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()