Enviar muchos mensajes c 3

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

Enviar muchos mensajes de WhatsApp con C#

Descargar programa: https://www.programadornovato.com/enviar-muchos-mensajes-de-whatsapp-rapido/

Enviar muchos mensajes de WhatsApp C# – YouTube

Los comentarios están cerrados.

Salir de la versión móvil