// 诊断:列出hr1 Chrome的所有标签页和当前推荐页真实状态 const pw = require('playwright-core'); (async () => { const b = await pw.chromium.connectOverCDP('http://127.0.0.1:9223'); const pages = b.contexts()[0].pages(); for (let i = 0; i < pages.length; i++) { try { const url = pages[i].url(); const title = await pages[i].title().catch(() => ''); console.log(`tab${i} | ${url.slice(0, 85)} | ${String(title).slice(0, 25)}`); } catch (e) { console.log(`tab${i} | (无法读取)`); } } // 找推荐页再深度看一次(可能用户手动操作后URL已变) const p = pages.find(x => /rd\d?\.zhaopin\.com\/app\/recommend/.test(x.url())); if (p) { const r = await p.evaluate(() => { const body = document.body.innerText || ''; const modal = document.querySelector('.new-shortcut-resume__modal'); return { url: location.href.slice(0, 90), jobOff: body.includes('未上线'), chat: document.querySelector('.rights-chat-count .rights-count-number')?.innerText || null, modalOpen: !!modal, greetBtn: modal ? (modal.querySelector('button.km-button--primary.km-button--filled')?.innerText || '(无主按钮)') : null, }; }).catch(e => ({ err: String(e).slice(0, 60) })); console.log('推荐页:', JSON.stringify(r, null, 1)); } process.exit(0); })().catch(e => { console.log('ERR:', String(e).slice(0, 100)); process.exit(1); });