feat: 新增班优浏览器登录导入

This commit is contained in:
JSR
2026-07-11 18:47:36 +08:00
parent ff6cb694d2
commit 3081bcf283
9 changed files with 345 additions and 20 deletions
+46
View File
@@ -0,0 +1,46 @@
const { chromium } = require("playwright")
const LOGIN_URL = "https://care.seewo.com/"
const LOGIN_BUTTON_SELECTOR = "a#index-login-btn"
const USER_PANEL_SELECTOR = "span#user-info-panel"
const LOGIN_TIMEOUT_MS = 10 * 60 * 1000
const toCookieHeader = (cookies) => {
return cookies.map((cookie) => `${cookie.name}=${cookie.value}`).join("; ")
}
;(async () => {
let browser
try {
browser = await chromium.launch({ headless: false })
const context = await browser.newContext()
const page = await context.newPage()
await page.goto(LOGIN_URL, { waitUntil: "domcontentloaded", timeout: 60 * 1000 })
await page.locator(LOGIN_BUTTON_SELECTOR).click({ timeout: 60 * 1000 })
await page.locator(USER_PANEL_SELECTOR).waitFor({
state: "visible",
timeout: LOGIN_TIMEOUT_MS,
})
const cookies = await context.cookies(LOGIN_URL)
const cookieHeader = toCookieHeader(cookies)
if (!cookieHeader) {
throw new Error("No care.seewo.com cookies were captured after login")
}
process.stdout.write(
JSON.stringify({
cookie: cookieHeader,
count: cookies.length,
})
)
} catch (error) {
process.stderr.write(error && error.stack ? error.stack : String(error))
process.exitCode = 1
} finally {
if (browser) {
await browser.close().catch(() => undefined)
}
}
})()