Files
zhaopin/scripts/diag-hr1.js
T

31 lines
1.4 KiB
JavaScript

// 诊断:列出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); });