puppeteer - 避免木偶检测
问题描述
有什么方法可以避免被我正在使用 puppeteer 的网站检测到?我只是无法使用 puppeteer 浏览https://www.footlocker.ca/网站。我尝试使用隐形插件和随机用户代理无济于事。
关于我还能尝试什么的任何建议?
解决方案
该网站用于navigator.webdriver
检查您是真实用户还是机器人。所以你可以使用下面的代码来删除navigator.webdriver
值。文档。
const puppeteer = require("puppeteer");
(async () => {
const browser = await puppeteer.launch({
headless: false,
});
const page = await browser.newPage();
await page.evaluateOnNewDocument(() => {
delete navigator.__proto__.webdriver;
});
await page.goto("https://www.footlocker.ca", {
waitUntil: "domcontentloaded",
});
})();
推荐阅读
- python-3.x - 使用熊猫按列顺序显示条形图
- elasticsearch - 在 elasticsearch 中使用同义词
- batch-file - 如何通过 cmd (BATCH) 检测 pendrive
- c++ - 将指向 C++ 成员函数的指针传递给 C API 库
- java - 尝试从文本文件填充数组,但需要包含 (0-100)
- python - discord.py:如何显示机器人所在的服务器数量?
- java - Android Activity 旋转
- .net - SignalR 从 WPF 服务器向 WPF 客户端发送消息
- reactjs - 反应时刻本地时区
- ruby - 在变量也发生变化时更改 Ruby TK 菜单条目状态?