【发布时间】:2023-01-09 00:43:05
【问题描述】:
我知道puppeteer是一个简单又很棒的工具,可以轻松获取网站数据
据我所知,如果是headless模式,会有很多属性和普通浏览器不一样
但是如果我用下面的方法将一个打开的浏览器链接到 puppeteer ,我就检测不到了?
第一:修改桌面谷歌浏览器快捷方式属性并打开浏览器 C:\Users\13632\AppData\Local\Google\Chrome\Application\chrome.exe --remote-debugging-port=9222
const axios = require('axios')
const puppeteer = require('puppeteer')
async function main() {
const response = await axios.get(`http://127.0.0.1:9222/json/version`);
const webSocketDebuggerUrl = response.data.webSocketDebuggerUrl;
browser = await puppeteer.connect({
browserWSEndpoint: webSocketDebuggerUrl,
ignoreDefaultArgs: ["--enable-automation"],
slowMo: 100,
defaultViewport: { width: 1280, height: 600 },
});
let target = await browser.waitForTarget(t => t.url().includes("you url"))
const page = await target.page();
}
main()
上面的方法是链接一个打开的浏览器,就是普通的谷歌浏览器。好像无法检测是不是自动化工具?有没有别的办法让我判断对方是人还是机器
【问题讨论】:
标签: puppeteer