Files
nanocode/playwright-hotspots/scripts/weibo_check.js
T
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

78 lines
2.3 KiB
JavaScript

/**
* 检查微博发送状态
*/
const puppeteer = require('puppeteer-core');
const { getLaunchOptions } = require('../config/browser');
const fs = require('fs');
const COOKIE_FILE = '/home/ubuntu/weibo_cookies.txt';
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
async function checkStatus() {
console.log('🔍 检查发送状态...');
const browser = await puppeteer.launch({
...getLaunchOptions(),
headless: true,
});
try {
const page = await browser.newPage();
await page.setViewport({ width: 1280, height: 900 });
// 加载 Cookie
const cookies = JSON.parse(fs.readFileSync(COOKIE_FILE, 'utf-8'));
await page.goto('https://weibo.com', { waitUntil: 'domcontentloaded' });
for (const c of cookies) {
try {
await page.setCookie({
name: c.name,
value: c.value,
domain: c.domain,
path: c.path || '/'
});
} catch (e) {}
}
// 访问个人主页查看最新微博
await page.goto('https://weibo.com/u/me?tabtype=weibo', { waitUntil: 'networkidle2' });
await delay(3000);
await page.screenshot({ path: '/tmp/weibo_login/check_status.png' });
// 获取最新的几条微博
const posts = await page.evaluate(() => {
const items = Array.from(document.querySelectorAll('[class*="card"], [class*="item"], article'));
return items.slice(0, 3).map(item => {
const text = item.textContent || '';
const time = item.querySelector('time, [class*="time"], [class*="date"]')?.textContent || '';
return { text: text.substring(0, 200), time };
});
});
console.log('\n📱 最新微博内容:');
posts.forEach((post, i) => {
console.log(`\n[${i + 1}] ${post.time}`);
console.log(` ${post.text.substring(0, 100)}...`);
});
// 检查是否有刚刚发的测试微博
const hasTestPost = posts.some(p => p.text.includes('自动化脚本') || p.text.includes('🤖'));
if (hasTestPost) {
console.log('\n✅ 找到了测试微博!');
} else {
console.log('\n⚠️ 未找到测试微博,可能发送失败了');
}
} catch (error) {
console.error('❌ 错误:', error.message);
} finally {
await browser.close();
}
}
checkStatus().catch(console.error);