Menu

บายพาส Recaptcha บนแบบฟอร์มที่มีการโทรกลับ กวดวิชา 2.


สิ่งที่คุณจะได้เรียนรู้

  • คุณจะได้เรียนรู้วิธีส่งแบบฟอร์ม นี้ ด้วย Recaptcha พร้อมสคริปต์ NodeJS
  • เรียนรู้ความแตกต่างระหว่างพื้นที่ข้อความที่ซ่อนอยู่ (hidden textarea) และวิธีการเรียกกลับ (callback)
  • เรียนรู้วิธีค้นหาการเรียก 'grecaptcha.render' ของจาวาสคริปต์อย่างถูกต้อง
Source code

วิดีโอนี้เน้นความแตกต่างในแนวทางจากบทแนะนำ ก่อนหน้า แทนที่จะวางโทเค็นการตอบสนอง 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 และเนื้อความของมันถูกเข้ารหัส

Github

https://github.com/anti-captcha/solving-captcha-concepts/blob/master/tutorial2.js