Enviar muchos mensajes de WhatsApp con C#
En este tutorial vamos a Enviar muchos mensajes de WhatsApp con C# y aprenderemos crear nuestro propio sistema conectado a Excel para poder manipular los contactos y números de WhatsApp, siguiendo estos pasos:
Crear Proyecto en Visual Studio IDE
Seleccionamos C#, Windows, Escritorio y despues Aplicacion Wondows Form y Siguiente
Colocamos un nombre y damos click en siguiente
Seleccionamos .Net 6.0 y click en Crear
Configuramos las dependencias del código
Arrastramos 2 botones y les ponemos Abrir WhatsApp, Enviar WhatsApp respectivamente y hacemos click en ambos para crear su código
Agregamos el codigo: IWebDriver driver; damos click en la sugerencia y seleccionamos Instalar paquete Selenium, Buscar ultima versión
Agregamos la variable global localPath asi: string localPath = Directory.GetCurrentDirectory();
Dentro de button1_Click agregamos este codigo
private void button1_Click(object sender, EventArgs e) { //Leemos el chromedriver que esta en la misma direccion del programa System.Environment.SetEnvironmentVariable("webdriver.chrome.driver", localPath + "/chromedriver.exe"); //Inicializamos ls opciones de chrome ChromeOptions optionsGoo = new ChromeOptions(); //Permitimos la propiedad no-sandbox para evitar problemas en linux optionsGoo.AddArguments("--no-sandbox"); //Deshabilitamos las notificaciones optionsGoo.AddArguments("--disable-notifications"); //Guardamos la sesion en la carpeta chromeWA optionsGoo.AddArguments("--user-data-dir=" + localPath + "\\chromeWA"); //Instanciamos un nuevo chromedriver driver = new ChromeDriver(optionsGoo); //Abrimos WA driver.Url = "https://web.whatsapp.com"; }
Dentro de button2_Click agregamos este codigo
private void button2_Click(object sender, EventArgs e) { //Ubicamos el archivo contactos string Contactoscsv = localPath + "\\Contactos.csv"; using (TextFieldParser parser = new TextFieldParser(@"" + Contactoscsv)) { parser.TextFieldType = FieldType.Delimited; parser.SetDelimiters(","); while (!parser.EndOfData) { //Processing row string[] fields = parser.ReadFields(); //Obtenemos el nombre del contacto string contacto = fields[0]; //Obtenemos el numero del contacto string numero = fields[1]; //Obtenemos el mensaje del contacto string mensaje = fields[2]; //Abrimos whatsapp web con el numero de telefono a enviar driver.Url = "https://web.whatsapp.com/send/?phone=" + numero + "&text&type=phone_number&app_absent=0"; //Declaramos el tiempo de espera driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10); //Escribimos el mensaje driver.FindElement(By.XPath("//*[@id=\"main\"]/footer/div[1]/div/span[2]/div/div[2]/div[1]/div/div[1]/p")).SendKeys(mensaje); //Esperamos 1 segundo Thread.Sleep(1000); //Precionamos enter driver.FindElement(By.XPath("//*[@id=\"main\"]/footer/div[1]/div/span[2]/div/div[2]/div[1]/div/div[1]/p")).SendKeys(Tecla.Enter); Thread.Sleep(1000); } } driver.Quit(); }
Declaramos la variable Tecla asi: using Tecla = OpenQA.Selenium.Keys;
Código completo:
/* Enviar muchos mensajes de WhatsApp con C# */ using Microsoft.VisualBasic.FileIO; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using Tecla = OpenQA.Selenium.Keys; namespace EnviarMensajes { public partial class Form1 : Form { //Declaramos el driver IWebDriver driver; //Obtenemos la ubicacion de nuestro programa string localPath = Directory.GetCurrentDirectory(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //Leemos el chromedriver que esta en la misma direccion del programa System.Environment.SetEnvironmentVariable("webdriver.chrome.driver", localPath + "/chromedriver.exe"); //Inicializamos ls opciones de chrome ChromeOptions optionsGoo = new ChromeOptions(); //Permitimos la propiedad no-sandbox para evitar problemas en linux optionsGoo.AddArguments("--no-sandbox"); //Deshabilitamos las notificaciones optionsGoo.AddArguments("--disable-notifications"); //Guardamos la sesion en la carpeta chromeWA optionsGoo.AddArguments("--user-data-dir=" + localPath + "\\chromeWA"); //Instanciamos un nuevo chromedriver driver = new ChromeDriver(optionsGoo); //Abrimos WA driver.Url = "https://web.whatsapp.com"; } private void button2_Click(object sender, EventArgs e) { //Ubicamos el archivo contactos string Contactoscsv = localPath + "\\Contactos.csv"; using (TextFieldParser parser = new TextFieldParser(@"" + Contactoscsv)) { parser.TextFieldType = FieldType.Delimited; parser.SetDelimiters(","); while (!parser.EndOfData) { //Processing row string[] fields = parser.ReadFields(); //Obtenemos el nombre del contacto string contacto = fields[0]; //Obtenemos el numero del contacto string numero = fields[1]; //Obtenemos el mensaje del contacto string mensaje = fields[2]; //Abrimos whatsapp web con el numero de telefono a enviar driver.Url = "https://web.whatsapp.com/send/?phone=" + numero + "&text&type=phone_number&app_absent=0"; //Declaramos el tiempo de espera driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10); //Escribimos el mensaje driver.FindElement(By.XPath("//*[@id=\"main\"]/footer/div[1]/div/span[2]/div/div[2]/div[1]/div/div[1]/p")).SendKeys(mensaje); //Esperamos 1 segundo Thread.Sleep(1000); //Precionamos enter driver.FindElement(By.XPath("//*[@id=\"main\"]/footer/div[1]/div/span[2]/div/div[2]/div[1]/div/div[1]/p")).SendKeys(Tecla.Enter); Thread.Sleep(1000); } } driver.Quit(); } } }
Descargamos Requerimientos extras
1.-Damos click derecho en el proyecto
2.-Click Abrir carpeta en el Explorador de archivos
3.- Nos movemos a bin -> Debug -> net6.0-windows
Descargamos las dependencias de Chrome
En chrome damos click en los 3 puntos, seleccionamos ayuda, informacion de google y aparecera la vercion de chrome
Vamos a https://chromedriver.chromium.org/downloads y descargamos la version de chrome que tenemos instalado
Descargamos Contactos.csv y creamos la carpeta chromeWA de tal suerte que nuestros archivos quedaran así:
Enviar muchos mensajes de WhatsApp con C#
Click en play y cuando corra el programa hacemos click en Abrir WhatsApp
Damos click en Abrir WhatsApp y escaneamos el codigo QR con nuestro WhatsApp del telefono
Damos click en Enviar WhatsApp y esperamos que se envien los textos del excel
Descargar programa: https://www.programadornovato.com/enviar-muchos-mensajes-de-whatsapp-rapido/
Enviar muchos mensajes de WhatsApp C# – YouTube
Ave que vuela, a la cazuela.