新增依赖puppeteer-extra

puppeteer-extra-plugin-stealth
This commit is contained in:
yeyang
2023-04-09 00:40:57 +08:00
parent d838ab4658
commit 4bc5828ff0
2 changed files with 28 additions and 5 deletions

View File

@@ -0,0 +1,10 @@
{
"name": "puppeteer",
"version": "1.0.0",
"main": "puppeteer.js",
"license": "MIT",
"dependencies": {
"puppeteer-extra": "^3.3.4",
"puppeteer-extra-plugin-stealth": "^2.11.1"
}
}

View File

@@ -1,8 +1,17 @@
import fs from 'fs'
import _ from 'lodash'
import { devices } from 'puppeteer'
import pet from '../../../../lib/puppeteer/puppeteer.js'
import { Data, Version, Plugin_Name, Config } from '../../components/index.js'
const puppeteer = await import('puppeteer')
import { Config, Data, Plugin_Name, Version } from '../../components/index.js'
let puppeteer = null
let StealthPlugin = null
try {
puppeteer = await import('puppeteer-extra')
StealthPlugin = await import('puppeteer-extra-plugin-stealth')
puppeteer.use(StealthPlugin())
} catch {}
const _path = process.cwd()
export default new (class newPuppeteer {
constructor () {
@@ -20,12 +29,12 @@ export default new (class newPuppeteer {
isLandscape: false
}
},
...puppeteer.devices
...devices
}
this.browser = false
this.config = {
headless: 'chrome',
args: ['--no-sandbox']
args: ['--no-sandbox'],
headless: true
}
}
@@ -130,6 +139,10 @@ export default new (class newPuppeteer {
async launch () {
if (this.browser) return this.browser
logger.mark('Puppeteer launching')
if (!puppeteer) {
logger.error(`[椰奶][Puppeteer]缺少依赖项 请到 ${logger.yellow('yenai-plugin/lib/puppeteer')} 执行 ${logger.red('pnpm i')} 或直接执行 ${logger.red('pnpm add puppeteer-extr puppeteer-extra-plugin-stealth -w')}`)
return false
}
this.browser = await puppeteer.launch(this.config).catch((err) => {
logger.error(err.toString())
if (String(err).includes('correct Chromium')) {