aaaaa
This commit is contained in:
parent
75986287d1
commit
58b9d72ebe
@ -1050,8 +1050,15 @@ class WindsurfRegister {
|
||||
}
|
||||
|
||||
// 2. 调用 CapSolver API 获取 token
|
||||
// 简化 URL,移除 hash 和查询参数(CapSolver 不需要完整 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)}...`);
|
||||
|
||||
@ -1265,9 +1272,34 @@ class WindsurfRegister {
|
||||
}
|
||||
|
||||
if (captchaDetected) {
|
||||
logger.info(this.siteName, ' → 正在处理验证码...');
|
||||
await this.handleHCaptcha();
|
||||
await this.human.randomDelay(1000, 2000);
|
||||
logger.warn(this.siteName, ' → ⚠️ 检测到验证码,请手动完成(等待60秒)...');
|
||||
|
||||
// 等待用户手动完成验证码
|
||||
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 {
|
||||
logger.info(this.siteName, ` → ✓ 无验证码(检查${captchaCheckCount}次,耗时${((Date.now() - checkStartTime) / 1000).toFixed(1)}秒)`);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user