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