测试puppeteer模拟度检测
2023-09-14 09:06:35 时间
var puppeteer = require('puppeteer');
const devices = require('puppeteer/DeviceDescriptors');
const iphone = devices["iPhone 6"]
const path = require('path');
const pathToExtension = path.join(__dirname, './chrome-mac/Chromium.app/Contents/MacOS/Chromium');
const conf = {
headless: false,
executablePath: pathToExtension,
defaultViewport: {
width: 1300,
height: 900
}
}
puppeteer.launch(conf).then(
async browser => {
const page = await browser.newPage();
await page.setUserAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36");
await page.evaluateOnNewDocument(() => {
delete navigator.__proto__.webdriver;
});
await page.evaluateOnNewDocument(() => {
Object.defineProperty(navigator, 'plugins', {
get: () => [1, 2, 3, 4, 5],
});
});
await page.evaluateOnNewDocument(() => {
Object.defineProperty(navigator, 'languages', {
get: () => ['en-US', 'en'],
});
});
await page.evaluateOnNewDocument(() => {
Object.defineProperty(navigator, 'platform', {
get: () => "Linux armxxxxx",
configurable: true
});
});
await page.evaluateOnNewDocument(() => {
window.navigator.chrome = {
runtime: {},
getUserMedia: {},
};
});
await page.goto(`https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html`);
})
相关文章
- 隔空点你的手机!新攻击装置可向屏幕发送电磁脉冲,模拟手指点击
- 实战代理模式,模拟Mybatis
- 接口测试|HttpRunner模拟发送GET请求&自动生成测试报告
- C语言模拟QT的信号与槽功能
- Kafka Tool模拟数据发送
- DynaForm安装教程 DynaForm5.9.4下载 板料成形数值模拟的专用软件
- 模拟拖拽图片 碰撞检测 DOM 鼠标事件 闭包详解编程语言
- HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端编程语言
- STL实践项目之用queue模拟超市结账环节
- 实现Linux系统功能:利用安卓虚拟机(安卓虚拟机模拟linux)
- 器Linux安卓模拟器:轻松测试安卓应用(linux安卓模拟)
- 模拟Redis在UT测试中的应用(ut测试模拟redis)
- js模拟画笔效果