node.js - 在运行 puppeteer 时输入文本使用什么来读取 nlp 验证码
问题描述
如何绕过 puppeteer [登录屏幕] 中的 nlp 验证码我试图通过提供登录详细信息来绕过页面,但我不知道如何绕过验证码,谁能帮我绕过图像中的验证码并将结果写入文本域
const puppeteer = require('puppeteer');
const Tesseract = require('tesseract.js');
const worker = createWorker({
logger: m => console.log(m),
});
async function main() {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.goto('https://xx/xxxx');
await page.type("#UserName", "xxxxxx");
await page.type("#AuthKey", "xxxxxx");
Tesseract.recognize('Image url',
'eng', { logger: m => console.log(m) }
).then(({ data: { text } }) => {
console.log(text);
})
await page.click(".recaptcha-trigger-button.button.green.action-button.expand-right");
await page.goto('https://xx/xxxx');
解决方案
验证码的目的是不能(容易)绕过它。
最简单的解决方案不是为运行自动化脚本的环境构建验证码,通常是运行自动化测试的 QA 环境,尽管我不确定这是否是您的情况。
还有其他一些绕过验证码的方法,但我没有更多地研究它们。
推荐阅读
- c - 为什么我在 Windows COM 端口上的串行读取限制为 8192 字节?
- dictionary - 如何从使用 interface{} 键入的 golang map[string] 字符串中提取值
- ios - 如何在 iOS PDFKit 中取消选择文本框小部件
- javascript - 如何使用 ES6 从嵌套在数组中另一个对象中的数组中获取对象
- python-3.x - python-Dataframe:如何迭代索引行?
- c# - 从数据文件加载集合的问题
- java - 尝试通过传递参数对休息服务进行 ajax 调用时,我收到 500 的响应
- java - 如何让我的 android 应用程序在特定时间段后无法打开?
- c++ - 函数原型范围的有趣用法
- c# - SQL Server 引发错误:数据为空。不能对 Null 值调用此方法或属性