feat: 开关房功能开发
This commit is contained in:
2
src/main/scripts/common/checkLoginStatus.js
Normal file
2
src/main/scripts/common/checkLoginStatus.js
Normal file
@@ -0,0 +1,2 @@
|
||||
import log from 'electron-log';
|
||||
|
||||
@@ -1,9 +1,36 @@
|
||||
import { chromium } from 'playwright';
|
||||
import { checkLoginStatus } from '@utils/checkLoginStatus';
|
||||
import dotenv from 'dotenv';
|
||||
import log from 'electron-log';
|
||||
|
||||
dotenv.config();
|
||||
|
||||
const checkLoginStatus = async (page) => {
|
||||
try {
|
||||
const currentUrl = await page.url();
|
||||
|
||||
log.info('current url==========>:', currentUrl);
|
||||
|
||||
const loginPagePatterns = ['/login', '/signin', '/auth'];
|
||||
const isLoginPage = loginPagePatterns.some(pattern => currentUrl.includes(pattern));
|
||||
|
||||
if(!isLoginPage) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// 检查页面内容中的关键字
|
||||
const pageContent = await page.content();
|
||||
const loginKeywords = ['退出', '房价房量管理'];
|
||||
const hasLoginKeyword = loginKeywords.some(keyword =>
|
||||
pageContent.includes(keyword)
|
||||
);
|
||||
|
||||
if (hasLoginKeyword) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
} catch (error) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
(async () => {
|
||||
const browser = await chromium.connectOverCDP('http://localhost:9222');
|
||||
@@ -24,13 +51,13 @@ dotenv.config();
|
||||
if(!isLogin) {
|
||||
await page.getByRole('textbox', { name: '请输入账号' }).dblclick();
|
||||
await page.getByRole('textbox', { name: '请输入账号' }).click();
|
||||
await page.getByRole('textbox', { name: '请输入账号' }).fill(process.env.FZ_USERNAME, { delay: 80 + Math.random() * 120 });
|
||||
await page.getByRole('textbox', { name: '请输入账号' }).fill('hoteltmwq123', { delay: 80 + Math.random() * 120 });
|
||||
await page.waitForTimeout(1000 + Math.random() * 1000);
|
||||
await page.getByRole('button', { name: '下一步' }).click();
|
||||
|
||||
const frame_1 = await page.frameLocator('#alibaba-login-box');
|
||||
await page.locator('#alibaba-login-box').contentFrame().getByRole('textbox', { name: '请输入登录密码' }).dblclick();
|
||||
await page.locator('#alibaba-login-box').contentFrame().getByRole('textbox', { name: '请输入登录密码' }).fill(process.env.FZ_PASSWORD, { delay: 80 + Math.random() * 120 });
|
||||
await page.locator('#alibaba-login-box').contentFrame().getByRole('textbox', { name: '请输入登录密码' }).fill('Tmwq654321', { delay: 80 + Math.random() * 120 });
|
||||
await page.waitForTimeout(1000 + Math.random() * 1000);
|
||||
await page.locator('#alibaba-login-box').contentFrame().getByRole('button', { name: '登录' }).click();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user