aaaaa
This commit is contained in:
parent
75986287d1
commit
58b9d72ebe
@ -1050,8 +1050,15 @@ class WindsurfRegister {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 2. 调用 CapSolver API 获取 token
|
// 2. 调用 CapSolver API 获取 token
|
||||||
|
// 简化 URL,移除 hash 和查询参数(CapSolver 不需要完整 URL)
|
||||||
const currentUrl = this.page.url();
|
const currentUrl = this.page.url();
|
||||||
const token = await this.capsolver.solveHCaptcha(captchaInfo.siteKey, currentUrl);
|
const simplifiedUrl = new URL(currentUrl);
|
||||||
|
const cleanUrl = `${simplifiedUrl.protocol}//${simplifiedUrl.host}${simplifiedUrl.pathname}`;
|
||||||
|
|
||||||
|
logger.info(this.siteName, ` → 原始 URL: ${currentUrl.substring(0, 80)}...`);
|
||||||
|
logger.info(this.siteName, ` → 简化 URL: ${cleanUrl}`);
|
||||||
|
|
||||||
|
const token = await this.capsolver.solveHCaptcha(captchaInfo.siteKey, cleanUrl);
|
||||||
|
|
||||||
logger.info(this.siteName, ` → 获取到 token: ${token.substring(0, 30)}...`);
|
logger.info(this.siteName, ` → 获取到 token: ${token.substring(0, 30)}...`);
|
||||||
|
|
||||||
@ -1265,9 +1272,34 @@ class WindsurfRegister {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (captchaDetected) {
|
if (captchaDetected) {
|
||||||
logger.info(this.siteName, ' → 正在处理验证码...');
|
logger.warn(this.siteName, ' → ⚠️ 检测到验证码,请手动完成(等待60秒)...');
|
||||||
await this.handleHCaptcha();
|
|
||||||
await this.human.randomDelay(1000, 2000);
|
// 等待用户手动完成验证码
|
||||||
|
const waitStart = Date.now();
|
||||||
|
const maxWait = 60000; // 等待60秒
|
||||||
|
|
||||||
|
while (Date.now() - waitStart < maxWait) {
|
||||||
|
// 检查验证码是否已完成
|
||||||
|
const captchaCompleted = await this.page.evaluate(() => {
|
||||||
|
// 检查验证码对话框是否消失
|
||||||
|
const modal = document.querySelector('[role="dialog"]');
|
||||||
|
const modalVisible = modal && window.getComputedStyle(modal).display !== 'none';
|
||||||
|
return !modalVisible;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (captchaCompleted) {
|
||||||
|
const elapsed = ((Date.now() - waitStart) / 1000).toFixed(1);
|
||||||
|
logger.success(this.siteName, ` → ✓ 验证码已完成(耗时${elapsed}秒)`);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 每秒检查一次
|
||||||
|
await new Promise(resolve => setTimeout(resolve, 1000));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Date.now() - waitStart >= maxWait) {
|
||||||
|
logger.warn(this.siteName, ' → ⚠️ 验证码等待超时,继续尝试...');
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.info(this.siteName, ` → ✓ 无验证码(检查${captchaCheckCount}次,耗时${((Date.now() - checkStartTime) / 1000).toFixed(1)}秒)`);
|
logger.info(this.siteName, ` → ✓ 无验证码(检查${captchaCheckCount}次,耗时${((Date.now() - checkStartTime) / 1000).toFixed(1)}秒)`);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user