javascript - 我如何使用 puppeteer 在耐克网站上进行授权?
问题描述
我欢迎大家!我决定编写一个脚本,只需登录帐户并检查帐户上的电话号码。登录时出现问题。我无法登录,使用此代码出现以下错误:
const puppeteer = require('puppeteer')
async function nike_login() {
const browser = await puppeteer.launch({
devtools: true,
args: ['--Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'],
defaultViewport: null,
headless: false,
slowMo: 50
});
const page = await browser.newPage();
const url = 'https://www.nike.com/ru/launch';
await page.goto(url);
}
nike_login();
错误:通用“0 - 对https://unite.nike.com/login的POST 请求被阻止”[第一个错误没有 '--disable-web-security'][1] 但带有此标志:
'--disable-web-security'
我有下一个错误[带有此标志][2] [1]:https://i.stack.imgur.com/sw43t.png [2]:https://i.stack.imgur.com/H1cix.png
我如何授权?我尝试了很多东西,但由于缺乏知识,我可能错过了一些东西,请帮忙!
解决方案
启动浏览器看似很简单,但默认puppeteer.launch
其实用处不大。所以我建议你用另一种方式启动浏览器,如下所示:
- 首先,安装一些包:
"puppeteer": "^2.0.0",
"puppeteer-core": "^2.0.0",
"puppeteer-extra": "^2.1.3",
"puppeteer-extra-plugin": "^3.0.4",
"puppeteer-extra-plugin-anonymize-ua": "^2.1.4",
"puppeteer-extra-plugin-stealth": "^2.2.2",
- 示例代码:
const puppeteer = require("puppeteer-extra");
const pluginStealth = require("puppeteer-extra-plugin-stealth");
puppeteer.use(pluginStealth());
async function nike_login() {
const browser = await puppeteer.launch({headless: 0});
const page = await browser.newPage();
const url = 'https://www.nike.com/ru/launch';
try {
await page.goto(url, {timeout: 4000});
} catch (err) {
console.log('ignore this one because browser will loads many things that u do not need');
}
// continue your code
}
nike_login();
推荐阅读
- sql-server - SQL Server 数据库在本地时,ADO 客户端与服务器端游标的区别?
- node.js - 当我的目标是动态时如何解决 Rest API 的 CORS 错误
- python - 如何调整 x 轴宽度以适合并显示绘图中的每个单词字符串?
- java - 当目标具有与源同名的变量时,使用自定义源和目标变量的@Mapping 无法按预期工作
- laravel-5 - 如何在 Laravel 身份验证中自定义“电子邮件”字段?
- javascript - 无法初始化cropper.js(Uncaught TypeError: image.cropper is not a function at FileReader.oFReader.onload)
- c# - 动态单选按钮,我如何连接它们做一个事件?
- android - 如何杀死 adb fork-server
- typescript - 从表达式中读取特定数字
- tensorflow - 限制 keras 中的 CUDA 核心