@@ -71,9 +71,11 @@ async function syncCookies(browser: Browser, readlineInterface: readline.Interfa
7171
7272 console . log ( 'Mengecek status cookie' ) ;
7373 if ( isInvalidCookies ) {
74- const isCookiesExpired = cookies . length !== 0 ;
74+ let isCookiesExpired ;
7575 let loginSelector ;
7676
77+ isCookiesExpired = cookies . length !== 0 ;
78+
7779 if ( isCookiesExpired ) {
7880 console . log ( 'Cookie sudah kadaluarsa' ) ;
7981 loginSelector = 'text=Continue' ;
@@ -84,30 +86,38 @@ async function syncCookies(browser: Browser, readlineInterface: readline.Interfa
8486
8587 console . log ( 'Login manual' ) ;
8688
87- const loginTrigger = page . locator ( loginSelector ) ;
88- await loginTrigger . click ( ) ;
89+ const loginTrigger = await page
90+ . locator ( loginSelector )
91+ . waitHandle ( )
92+ . catch ( ( ) => null ) ;
93+
94+ if ( ! loginTrigger ) {
95+ isCookiesExpired = false ;
96+ console . log ( 'Login bermasalah' ) ;
97+ } else {
98+ await loginTrigger . click ( ) ;
99+ }
89100
90101 if ( isCookiesExpired ) {
91102 const typePasswordSelector = 'text=Forgotten password?' ;
92103 await page . locator ( typePasswordSelector ) . wait ( ) ;
93- console . log ( 'Menulis password' ) ;
94104 await page . keyboard . type ( account . PASSWORD ) ;
95105 } else {
96106 await page . keyboard . press ( 'Tab' ) ;
97-
98- console . log ( 'Menulis uid' ) ;
99107 await page . keyboard . type ( account . UID ) ;
100108 await page . keyboard . press ( 'Tab' ) ;
101-
102- console . log ( 'Menulis password' ) ;
103109 await page . keyboard . type ( account . PASSWORD ) ;
104110 }
105111
106- await readlineInterface . question ( 'Tekan enter jika sudah login ' ) ;
112+ const answer = await readlineInterface . question ( 'Simpan cookie? (y/N) ' ) ;
107113
108- const newCookies = await browser . cookies ( ) ;
109- await saveCookies ( cookiesPath , account . UID , newCookies ) ;
110- console . log ( 'Menyimpan cookie baru' ) ;
114+ if ( answer !== 'y' ) {
115+ console . log ( 'Cookie tidak di simpan' ) ;
116+ } else {
117+ const currentCookies = await browser . cookies ( ) ;
118+ await saveCookies ( cookiesPath , account . UID , currentCookies ) ;
119+ console . log ( 'Menyimpan cookie baru' ) ;
120+ }
111121 } else {
112122 console . log ( 'Cookie valid' ) ;
113123 }
0 commit comments