Skip to content

Instantly share code, notes, and snippets.

@rockavoldy
Last active January 24, 2020 15:39
Show Gist options
  • Save rockavoldy/231c03fb454a1689e47ddd5b35bc51f5 to your computer and use it in GitHub Desktop.
Save rockavoldy/231c03fb454a1689e47ddd5b35bc51f5 to your computer and use it in GitHub Desktop.
BOT untuk pengisian angket otomatis
const puppeteer = require("puppeteer");
const NIM = ""; // isi dengan NIM
const PASS = ""; // isi dengan PASSWORD SIAK
puppeteer.launch().then(async browser => {
let beres = false;
let salah = false;
let respon = "";
while (!beres) {
const page = await browser.newPage();
await page.goto('http://sino2.upi.edu/evaluasi-pbm/kuisioner.php');
await Promise.all([
await page.waitForSelector('input[name="btnlanjut"]'),
await page.click('input[type=submit]'),
]);
await page.type('input[name="NIM"]', NIM, { delay: 100 });
await page.type('input[name="PASS"]', PASS, { delay: 100 });
await page.click('input[type=submit]', { delay: 100 });
if (await page.$('font[color="red"]')) {
beres = true;
salah = true;
}
await page.waitForSelector('input[value="Lanjut >"]', {timeout: 10000}).then(() => {
page.click('input[type=submit]', { delay: 100 })
}).catch((e) => {
beres = true;
});
if (beres) {
break;
}
await Promise.all([
await page.waitForSelector('input[id="K0133"]'),
await page.click('input[id="K0133"]'),
await page.click('input[id="K0233"]'),
await page.click('input[id="K0333"]'),
await page.click('input[id="K0433"]'),
await page.click('input[id="K0533"]'),
await page.click('input[id="K0633"]'),
await page.click('input[id="K0733"]'),
await page.click('input[id="K0833"]'),
await page.click('input[id="K0933"]'),
await page.click('input[id="K1033"]'),
await page.click('input[id="K1133"]'),
await page.click('input[id="K1233"]'),
await page.click('input[id="K1333"]'),
await page.click('input[id="K1433"]'),
await page.click('input[id="K1533"]'),
await page.click('input[id="K1633"]'),
await page.click('input[id="K1733"]'),
await page.click('input[id="K1833"]'),
await page.click('input[id="K1933"]'),
await page.click('input[id="K2033"]'),
await page.waitForSelector('textarea[name="saran"]'),
await page.type('textarea[name="saran"]', "Terima kasih telah mengajar di kelas kami bapak/ibu"),
]);
await page.click('input[value="Submit"]', {delay: 100});
await browser.close();
}
if (beres) {
respon = "sudah coy";
}
if (salah) {
respon = "nim/password salah";
}
console.log(respon);
await page.screenshot({path: 'screenshot.png'});
await browser.close();
});
@rockavoldy
Copy link
Author

Cara Penggunaan

  1. Buat dalam 1 folder
  2. install puppeteer dengan npm i puppeteer
  3. jalankan dengan cara node pptr.js

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment