提问人:lapdoggo 提问时间:11/6/2023 最后编辑:ggorlenlapdoggo 更新时间:11/6/2023 访问量:106
“Chrome is being controlled by automated test software.” 显示,即使机器人检查在 Puppeteer 中通过
"Chrome is being controlled by automated test software." showing up even though bot check passing in Puppeteer
问:
我是 NodeJS 及其所有库的新手。
我曾经使用 Selenium 在 Python 中制作机器人和抓取器,我记得 Chrome 明确显示了一个标签告诉我
“Chrome 正在由自动化测试软件控制。”
因此,我开始使用UndetectedChromeDriver,这个标签消失了,因为使我的程序更加“人性化”。
所以现在我正在使用 puppeteer、puppeteer-extra 和 puppeteer-extra-plugin-stealth。
我按照有关如何使用 puppeteer-extra-plugin-stealth 的说明进行操作,程序运行良好,但它向我显示了与我在没有 UndetectedChromeDriver 的情况下使用 Selenium 时相同的标签,以及这个标签:
“Chrome 正在由自动化测试软件控制。”
“Chrome for Testing v119.0.6045.105 仅用于自动测试。对于常规浏览,请使用自动更新的标准版 chrome。
但是当加载 https://bot.sannysoft.com/ 它时,它有所有绿色的框,这基本上意味着“我”看起来不像一个机器人。
以下是触发 Chrome 中之前显示的 2 个标签的基本代码:
// puppeteer-extra is a drop-in replacement for puppeteer,
// it augments the installed puppeteer with plugin functionality
const puppeteer = require('puppeteer-extra')
const prompt = require("prompt-sync")({ sigint: true });
// add stealth plugin and use defaults (all evasion techniques)
const StealthPlugin = require('puppeteer-extra-plugin-stealth')
puppeteer.use(StealthPlugin());
(async () => {
// Launch the browser and open a new blank page
// Configuration when using StealthPlugin
const browser = await puppeteer.launch({
headless : false
});
const page = await browser.newPage();
await page.goto("https://bot.sannysoft.com/");
finish = prompt("Shall we finish the program?");
console.log(`Finishing program: ${finish}`);
await browser.close();
})();
据我所知,当您下载 Puppeteer 时,它会自动下载最新的 web驱动程序,并且我已经仔细检查了我有最新的 puppeteer、puppeteer-extra 和 puppeteer-extra-plugin-stealth。 版本在我的项目中,所以我认为 webdriver 版本应该不是问题。
如果 chrome 可以判断我是机器人,那么其他页面也可以,对吧?
但是,如果 https://bot.sannysoft.com/ 告诉我我看起来不像机器人,而且 puppeteer-extra-plugin-stealth 理论上让我看起来不像机器人,那么为什么 chrome 告诉我我是一个机器人?
我应该忽略 chrome 标签还是 puppeteer-extra-plugin-stealth 不再起作用?
有什么修复吗?
答:
这会使标签消失
const browser = await puppeteer.launch({
headless : false,
ignoreDefaultArgs: ["--enable-automation"],
});
来源:Puppeteer Chrome 由自动化测试软件控制
评论