chrome的enable-automation标志导致卡住不可见的Recaptcha过滤器

时间:2019-09-27 21:43:47

标签: javascript google-chrome recaptcha puppeteer invisible-recaptcha

因为伪造者只能与enable-automation标志一起使用,所以即使不手工操作也无法登录具有隐藏验证码的网站。

        puppeteer.launch({
            /*
            args:[
            '--no-sandbox',
            '--disable-setuid-sandbox',
            '--disable-infobars',
            '--window-position=0,0',
            '--ignore-certifcate-errors',
            '--ignore-certifcate-errors-spki-list'
    ],
        defaultViewport: null,
        */
            executablePath: "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe",
            userDataDir:"C:/Users/user/AppData/Local/Google/Chrome/User Data",
            ignoreHTTPSErrors: true,
            ignoreDefaultArgs: ['--enable-automation'],
            headless: false}).then(async browser => {
            const page = await browser.newPage();
            await page.setViewport({width: 1920, height: 1080});
            await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36');
            await page.evaluateOnNewDocument(() => {Object.defineProperty(navigator, 'webdriver', {get: () => undefined });});
            await page.evaluateOnNewDocument(() => {
          Object.defineProperty(navigator, 'languages', {
            get: () => ['tr-TR', 'tr'],
          });
        });

        await page.evaluateOnNewDocument(() => {
          Object.defineProperty(navigator, 'plugins', {
            get: () => [1, 2, 3, 4, 5],
          });
        });

        await page.evaluateOnNewDocument(() => {
          const originalQuery = window.navigator.permissions.query;
          return window.navigator.permissions.query = (parameters) => (
            parameters.name === 'notifications' ?
              Promise.resolve({ state: Notification.permission }) :
              originalQuery(parameters)
          );
        });
        await page.evaluateOnNewDocument(() => {
          window.navigator.chrome = {
            runtime: {},
          };
        });
await page.goto('http://' + config.domain, { waitUntil: "load" });

有些事情我试图不被标记为autamation bot,我使用自己的cookie,我自己的useragent将navigator.webdriver设置为undefined。但是以某种方式被recaptcha的api检测到了,我却无法在网站上执行任何任务。

如何触发

0 个答案:

没有答案