2023-06-04 18:09:47 +08:00

42 lines
1.2 KiB
TypeScript

import { clog } from "../poe/login";
import { login } from "./login";
export async function getLink(options) {
const log = clog(options)
log('开始', { ident: 'gpt-link' })
const page = await login(options)
// await page.waitForTimeout(500)
await page.waitForSelector('body > div.absolute.inset-0')
await page.evaluate(() => {
const $mark = document.querySelector("body > div.absolute.inset-0")
if ($mark) $mark.hidden = true
document.body.style.pointerEvents = 'all'
})
log('隐藏欢迎页面')
await page.waitForSelector('.gold-new-button', { visible: true })
log('等待升级plus按钮出现')
await page.waitForTimeout(500)
log('开始点击升级plus按钮')
await page.click('.gold-new-button')
const [response] = await Promise.all([
page.waitForNavigation({ waitUntil: 'domcontentloaded' }),
page.evaluate((selector, searchText) => {
const elements = Array.from(document.querySelectorAll(selector));
const target = elements.find(el => el.textContent.trim() === searchText);
target && target.click()
}, 'button', 'Upgrade plan')
])
if (response.ok()) {
const url = response._request._frame._url
log('获取链接成功', { result: url, type: 'success' })
return url
}
}