小编mea*_*una的帖子

在 Heroku 上使用 puppeteer 使用 headless chrome 绕过 Cloudflare 的验证码

我正在尝试使用 Heroku 上的 puppeteer 访问带有无头 chrome 的网站。当我在我的机器上本地尝试时,我的设置有效,但是当尝试将其安装在 Heroku 上时,我得到如下信息: 在此输入图像描述

我知道 puppeteer 默认情况下启用了 javascript,并且就我所读的内容来看,它看起来与此无关。

我使用puppeteer-extra-plugin-stealth、random-useragent和视口随机化,但似乎没有任何效果。

难道 puppeteer 和/或 chrome 在本地运行与 Heroku 上运行时添加了额外的东西吗?

这是我的设置:

const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());
const randomUseragent = require('random-useragent');

const USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36';


let browser = await puppeteer.launch(
  { headless: true, executablePath: process.env.CHROME_BIN || null, args: [
    '--enable-features=NetworkService', '--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage'
  ], ignoreHTTPSErrors: true, dumpio: false} …
Run Code Online (Sandbox Code Playgroud)

heroku node.js cloudflare puppeteer

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

cloudflare ×1

heroku ×1

node.js ×1

puppeteer ×1