
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.