1ra Versión
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user