import { Payload } from "../../gwarm/core/playload"; import { Result } from "../../gwarm/core/result"; import { AuthHandler } from "../../gwarm/handlers/auth.handler"; import { AuthPayload } from "../../gwarm/payloads/auth.payload"; import { BrowserContext, Page } from "playwright"; export class HotmailAuthHandler extends AuthHandler { async handle(context: BrowserContext, payload: AuthPayload): Promise { const page = context.pages()[0]; await this.goToLoginPage(page); await this.fillEmail(page, payload.email); await this.fillPassword(page, payload.password); await page.waitForTimeout(7978988); return null; } async goToLoginPage(page: Page) { await page.goto("https://login.live.com/login.srf"); } async fillEmail(page: Page, email: string) { await page.click('input[type="email"]'); await page.fill('input[type="email"]', email); await page.click("text=Next"); await page.waitForEvent("framenavigated", () => { return true; }); console.log("frame navigated"); } async fillPassword(page: Page, password: string) { await page.click('input[type="password"]'); await page.fill('input[type="password"]', password); await page.click("text=Sign in"); await page.waitForResponse((res) => { console.log(res.status()); return false; }); } }