node.js - 无法使用 Puppeteer / NodeJS 绕过某种指纹系统进入登录页面
问题描述
最近几天,这个问题一直让我发疯!我正在尝试使用 Puppeteer 访问下面这个网站的登录页面,但它根本不起作用。
主页:https ://www.kijiji.ca 登录页面:https ://www.kijiji.ca/t-login.html
这是我的基本脚本:
const puppeteer = require('puppeteer');
async function main(){
var browser = await puppeteer.launch({
headless : false
});
var page = await browser.newPage();
await page.goto("https://www.kijiji.ca");
await page.waitForSelector('[title="Sign In"]');
await page.click('[title="Sign In"]');
}
main();
登录页面无法加载!该页面显示为空白,但是在源代码中有一个脚本标签可以在普通浏览器上运行,但不是自动浏览器。这是我尝试过的几件事:
- 试过无头有头,没用
- 在 puppeteer-firefox 下工作,只有一个可以使用(我试图避免使用它,因为它不再更新)
- 通过多个用户代理运行它,没有工作
- 通过多个代理运行它,没有工作
- 尝试使用 Selenium(chrome 驱动程序,firefox 驱动程序),没有用
- 尝试使用 puppeteer-extra 和 puppeteer-extra-plugin-stealth (所有页面加载然后在启用后消失)
这里一定有我想念的东西!这里的任何人都知道我还能尝试什么!
非常感谢大家!
解决方案
这个对我有用。我看到它正在尝试与 127.0.0.1:5900 / 127.0.0.1:5903 建立 ws 连接,这非常狡猾。这些是 vnc 端口,因此如果您正在运行 vnc,请将其关闭。
另外关于 firefox,playwright-firefox 正在维护中,还有一个 playwright-webkit。
推荐阅读
- json - 如何从 .NET Core 3.1 中的 JSON 对象反序列化浮点数据类型
- database - Sqllite 作为图形数据库
- java - UnsupportedOperationException 将如何被抛出?
- javascript - 使用 html-pdf-node 渲染的 pdf 中未显示 CSS 和图像
- keycloak - Keycloak-js 在用户认证后执行动作
- sip - SIP服务器转发
- r - 更改 ggplot 文本的字体?
- c++ - 如何在 C++ 中有效地计算矩阵?
- ios - 如何使用firebase修复flutter iOS崩溃?
- python - Python Reduce 与布尔值不符合预期