puppeteer - 有没有办法检测 Web 客户端是否是 puppeteer 实例?

标签 puppeteer

<分区>

我想检测访问网站的客户是否在使用 puppeteer 而不是真实用户。

puppeteer 是否添加了一个请求 header ,表明请求来自 puppeteer?

编辑:

假设我创建了一个网站。我想阻止使用 puppeteer 的用户,因为我希望我的用户成为“真实”用户(单击按钮的人,而不是模仿按钮单击的脚本)。我想知道是否有任何我可以检查的具体内容(标题?)可以将他识别为 puppeteer 操纵者而不是真人,因此我可以忽略他的请求(即不在数据库中保存任何内容,重定向到错误页面或其他内容)

另一个编辑:

正如@root 指出的那样,我可以在浏览器中检测到用户代理是否由自动化控制(如 Puppeteer)。虽然这不是我首先想到的(我想检测标题,所以我会忽略/阻止服务器端的处理,然后能够登录以查明使用自动化的用户),如果没有其他,我会接受它作为答案存在替代方案。

最佳答案

如果您的意思是“访问我的网站的客户”和“使用网络驱动程序而不是真正的用户”,您可以向您的网站添加一个 JavaScript 片段来检查 navigator.webdriver如果这是真的,那么网站的行为就会不同。

关于puppeteer - 有没有办法检测 Web 客户端是否是 puppeteer 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55998010/

相关文章:

javascript - 无法在 puppeteer-jest 测试框架中解析本地 JSON 数据?

javascript - 从 puppeteer PDF 中删除分页符?

node.js - 访问时 puppeteer 的截图是否被捕获?

node.js - 如何使用 Puppeteer 等待所有下载完成?

testing - 开 Jest 测试描述范围变量

javascript - puppeteer 师 |等待所有 JavaScript 执行完毕

javascript - 检查视口(viewport)中的可见性( puppeteer 师)

javascript - puppeteer 网络抓取问题 问题

javascript - UnhandledPromiseRejectionWarning : Error: Protocol error (Runtime. callFunctionOn) : Target closed. (Puppeteer)

node.js - 是否可以捕获 url 中可用的搜索功能的响应