使用Selenium自动化Indeed登录时无法获取hCAPTCHA的data-sitekey
解决Indeed登录hCAPTCHA的sitekey查找问题
关于iframe中获取的sitekey是否正确
你从hCAPTCHA的<iframe>里拿到的7734ec9b-f8cb-44b2-9fac-3a502cb4f1bf大概率不是正确的sitekey——hCAPTCHA的有效sitekey通常存放在主页面的JavaScript初始化逻辑中,而非iframe内部的参数。iframe里的这个值可能是临时标识或子资源参数,无法通过2captcha的验证,这也是你收到ERROR_WRONG_GOOGLEKEY错误的核心原因。
查找隐藏在JS回调函数中的sitekey方法
按照2captcha客服的提示,sitekey藏在回调函数里,你可以通过Chrome开发者工具按以下步骤定位:
1. 用Sources面板搜索关键词
- 打开Indeed登录页,按下
F12打开开发者工具,切换到Sources标签页。 - 按下
Ctrl+Shift+F调出全局搜索框,输入sitekey、hcaptcha.render、hcaptcha.execute这类关键词。 - 在搜索结果里找类似这样的代码段:
这里的hcaptcha.render('captcha-container', { sitekey: '真实有效的sitekey值', callback: function(token) { /* 回调逻辑 */ } });sitekey字段值就是你需要的。
2. 从Console面板提取配置
- 切换到
Console标签页,执行以下代码遍历页面脚本查找sitekey:
也可以直接查找全局的hCAPTCHA相关对象:// 遍历所有script标签,筛选包含sitekey的内容 document.querySelectorAll('script').forEach(script => { if (script.textContent.includes('sitekey')) { console.log(script.textContent); } });// 排查全局对象中的captcha配置 Object.keys(window).forEach(key => { if (key.includes('hcaptcha') || key.includes('captcha')) { console.log(window[key]); } });
3. 通过Network面板追踪请求
- 切换到
Network标签页,刷新页面后筛选Script类型请求。 - 找URL包含
hcaptcha.com的请求,查看请求的Query参数或响应内容,里面可能携带sitekey参数。
验证sitekey有效性
找到sitekey后,直接用2captcha的API测试提交,若不再返回ERROR_WRONG_GOOGLEKEY,则说明是正确的sitekey。
内容的提问来源于stack exchange,提问作者Howsikan
相关产品推荐
相关产品推荐

