UNPKG

puppeteer-extra-plugin-stealth

Version:

Stealth mode: Applies various techniques to make detection of headless puppeteer harder.

38 lines (33 loc) 930 B
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Page Title</title> <meta name="viewport" content="width=device-width, initial-scale=1" /> </head> <body> <h1 id="result">Please use `document.querySelector`..</h1> <script> function test() { const err = new Error('Test Error') const isPptr = err.stack .toString() .includes('puppeteer_evaluation_script') document.getElementById('result').innerHTML = isPptr ? 'FAIL' : 'PASS' console.log({ err, isPptr }) } function overrideFunction(item) { item.obj[item.propName] = (function(orig) { return function() { test() return orig.apply(this, arguments) } })(item.obj[item.propName]) } overrideFunction({ propName: 'querySelector', obj: document }) </script> </body> </html>