我之前使用过 puppeteer-extra,可以使用 puppeteer-extra-plugin-recaptcha 库和 page.solveRecaptchas() 轻松解决验证码问题;功能。但是,我不得不切换到 puppeteer-real-browser 库。一切都很顺利,但是现在我使用的是 puppeteer-real-browser,我无法在这个库中使用 puppeteer-extra 插件,所以我无法解决验证码。
我应该实现什么样的代码才能同时使用这两个库?
下面是我遇到问题的代码:
import fs from 'fs';
import puppeteer from 'puppeteer-extra';
import { connect } from 'puppeteer-real-browser';
import Stealth from 'puppeteer-extra-plugin-stealth';
import anticaptcha from 'puppeteer-extra-plugin-recaptcha'
import axios from 'axios';
const start = async () => {
try {
connect({
tf: false,
turnstile: true,
args: [],
headless: 'auto',
customConfig: {},
skipTarget: [],
fingerprint: true,
turnstile: true,
connectOption: {}
// proxy: {
// host: '<proxy-host>',
// port: '<proxy-port>',
// username: '<proxy-username>',
// password: '<proxy-password>'
// }
})
.then(async response => {
const { page, browser, setTarget } = response
setTarget({ status: true })
puppeteer.use(Stealth());
puppeteer.use(anticaptcha({
provider: {
id: '2captcha',
token: 'apikey',
},
visualFeedback: true,
throwOnError: true
}));
})
//My codes....
} catch (error) {
console.error('error:', error.message);
}
};
你好吗? 我也有同样的问题。 如果您不介意,可以使用浏览器扩展来代替 puppeteer-extra 插件。 2captcha 和 capsolver.com 服务有其扩展,并且运行良好。 您可以在扩展解决验证码时添加超时。