บายพาส Recaptcha บนแบบฟอร์มที่มีการโทรกลับ กวดวิชา 2.
สิ่งที่คุณจะได้เรียนรู้
- คุณจะได้เรียนรู้วิธีส่งแบบฟอร์ม นี้ ด้วย Recaptcha พร้อมสคริปต์ NodeJS
- เรียนรู้ความแตกต่างระหว่างพื้นที่ข้อความที่ซ่อนอยู่ (hidden textarea) และวิธีการเรียกกลับ (callback)
- เรียนรู้วิธีค้นหาการเรียก 'grecaptcha.render' ของจาวาสคริปต์อย่างถูกต้อง
วิดีโอนี้เน้นความแตกต่างในแนวทางจากบทแนะนำ ก่อนหน้า แทนที่จะวางโทเค็นการตอบสนอง g ลงใน textarea ของแบบฟอร์ม เราเรียกใช้ฟังก์ชัน "checkCaptcha" ซึ่งสามารถพบได้ในซอร์สโค้ดของหน้า
console.log('setting recaptcha g-response ...');
await tab.evaluate((token) => {
checkCaptcha(token);
}, token);
นอกจากนี้ยังไม่จำเป็นต้องกดปุ่มส่ง เนื่องจากการส่งจะเกิดขึ้นโดยอัตโนมัติหลังจากแก้ไข Recaptcha แล้ว
console.log('submitting form .. ');
await Promise.all([
tab.click('#contentbox > form > div > div.tac.padding20px > button'),
tab.waitForNavigation({ waitUntil: "networkidle0" })
]);
ใน กวดวิชา ถัดไป คุณจะได้เรียนรู้วิธีเลี่ยงผ่านแบบฟอร์มด้วย Recaptcha โดยที่ฟังก์ชันการเรียกกลับไม่ได้แยกออกจากการเรียก gresponse.render และเนื้อความของมันถูกเข้ารหัส