Pada kesempatan kali ini saya akan membagikan cara mengirimkan pesan WhatsApp secara otomatis menggunakan library Puppeteer.
Apa itu Puppeteer? Puppeteer adalah sebuah library Node.js yang menyediakan API tingkat tinggi untuk mengontrol browser Chrome atau Chromium secara programatik. Puppeteer digunakan untuk mengotomatisasi tugas-tugas di browser, seperti Web Scraping, Pengujian Web, Mengambil Screenshot, Menghasilkan PDF, dan Interaksi dengan Halaman. Puppeteer sangat berguna untuk pengembang web dan penguji karena memungkinkan otomatisasi tugas yang biasanya memerlukan interaksi manual dengan browser.
Silahkan buat folder untuk menyimpan project latihan kali ini, kemudian buat file index.js kemudian jalankan npm init
setelah itu jalankan npm i puppeteer
.
Tulis kode dibawah ini pada index.js.
import puppeteer from 'puppeteer';
const scrape = async (url) => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.goto(url);
};
scrape("https://web.whatsapp.com");
Buka WhatsApp Web kemudian lakukan inspect element dan pilih nama kontak yang ingin dikirimi pesan. Sebagai contoh saya akan mengirim pesan dengan nama kontak yaitu Asep.
await page.waitForSelector("span[title='Asep']");
const target = await page.$("span[title='Asep']");
await target.click();
Kemudian copy selector pada kolom tempat menulis pesan pada chat.
const inp = await page.$(
"#main > footer > div._3SvgF._1mHgA.copyable-area > div.DuUXI > div > div._1awRl.copyable-text.selectable-text"
);
Kemudian tulis pesan yang ingin dikirim, Anda juga bisa melakukan pengulangan pada pesan yang dikirim.
for (let i = 0; i < 100; i++) { // lakukan pengulangan sesuai keinginan
await inp.type("halo!"); // isi pesan
await page.keyboard.press("Enter");
}
await browser.close();
Sehingga keseluruhan kode menjadi seperti ini.
import puppeteer from 'puppeteer';
const scrape = async (url) => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.goto(url);
await page.waitForSelector("span[title='Asep']");
const target = await page.$("span[title='Asep']");
await target.click();
const inp = await page.$(
"#main > footer > div._3SvgF._1mHgA.copyable-area > div.DuUXI > div > div._1awRl.copyable-text.selectable-text"
);
for (let i = 0; i < 100; i++) {
await inp.type("halo!");
await page.keyboard.press("Enter");
}
await browser.close();
};
scrape("https://web.whatsapp.com");
Jalankan kode dengan perintah node index.js
.
Top comments (0)