25 lines
1.4 KiB
JavaScript
25 lines
1.4 KiB
JavaScript
// 弹窗DOM存在但innerText为空且不可见——可能是懒渲染。等待内容加载再抓,同时截图直看
|
|
const pw = require('playwright-core');
|
|
(async () => {
|
|
const b = await pw.chromium.connectOverCDP('http://127.0.0.1:9223');
|
|
const p = b.contexts()[0].pages().find(x => /recommend/.test(x.url()));
|
|
// 重新点击卡片并等足8秒
|
|
await p.evaluate(() => document.querySelector('.recommend-item .resume-item__content, .recommend-item')?.click()).catch(() => { });
|
|
await new Promise(r => setTimeout(r, 8000));
|
|
const st = await p.evaluate(() => {
|
|
const m = document.querySelector('.new-shortcut-resume__modal');
|
|
const km = document.querySelector('.km-modal--open, .km-modal:not([style*="display: none"])');
|
|
return {
|
|
resumeModal: !!m,
|
|
resumeModalText: m ? (m.innerText || '').replace(/\n/g, '|').slice(0, 200) : null,
|
|
kmOpen: !!km,
|
|
kmText: km ? (km.innerText || '(空文本)').replace(/\n/g, '|').slice(0, 200) : null,
|
|
};
|
|
}).catch(e => ({ err: String(e).slice(0, 60) }));
|
|
console.log(JSON.stringify(st, null, 1));
|
|
// 截图(整页)直看页面到底是什么状态
|
|
await p.screenshot({ path: '/opt/data/logs/recruitment/hr1-page-now.png' }).catch(e => console.log('截图失败', String(e).slice(0, 50)));
|
|
console.log('截图已存: hr1-page-now.png');
|
|
process.exit(0);
|
|
})().catch(e => { console.log('ERR:', String(e).slice(0, 100)); process.exit(1); });
|