@@ -57,7 +57,7 @@ async function syncCookies(browser: Browser, readlineInterface: readline.Interfa
5757 await browser . setCookie ( ...cookies ) ;
5858
5959 console . log ( 'Membuka facebook' ) ;
60- const pageOpener = await page . goto ( 'https://www .facebook.com/settings/' , { waitUntil : 'domcontentloaded' } ) . catch ( ( ) => null ) ;
60+ const pageOpener = await page . goto ( 'https://web .facebook.com/settings/' , { waitUntil : 'domcontentloaded' } ) . catch ( ( ) => null ) ;
6161
6262 if ( ! pageOpener ) {
6363 console . log ( 'Facebook tidak terbuka' ) ;
@@ -67,31 +67,47 @@ async function syncCookies(browser: Browser, readlineInterface: readline.Interfa
6767 console . log ( 'Facebook terbuka' ) ;
6868
6969 console . log ( 'Mulai menyinkronkan cookie' ) ;
70- const isInvalidCookies = page . url ( ) . includes ( 'login ' ) ;
70+ const isInvalidCookies = page . url ( ) . includes ( 'next ' ) ;
7171
72+ console . log ( 'Mengecek status cookie' ) ;
7273 if ( isInvalidCookies ) {
73- console . log ( 'Cookie tidak valid' ) ;
74+ const isCookiesExpired = cookies . length !== 0 ;
75+ let loginSelector ;
76+
77+ if ( isCookiesExpired ) {
78+ console . log ( 'Cookie sudah kadaluarsa' ) ;
79+ loginSelector = 'text=Continue' ;
80+ } else {
81+ console . log ( 'Cookie tidak ditemukan' ) ;
82+ loginSelector = 'text=Log in to Facebook' ;
83+ }
84+
7485 console . log ( 'Login manual' ) ;
7586
76- const loginSelector = 'text=Log in to Facebook' ;
7787 const loginTrigger = page . locator ( loginSelector ) ;
78-
7988 await loginTrigger . click ( ) ;
80- await page . keyboard . press ( 'Tab' ) ;
8189
82- console . log ( 'Menulis uid' ) ;
83- await page . keyboard . type ( account . UID ) ;
84- await page . keyboard . press ( 'Tab' ) ;
90+ if ( isCookiesExpired ) {
91+ const typePasswordSelector = 'text=Forgotten password?' ;
92+ await page . locator ( typePasswordSelector ) . wait ( ) ;
93+ console . log ( 'Menulis password' ) ;
94+ await page . keyboard . type ( account . PASSWORD ) ;
95+ } else {
96+ await page . keyboard . press ( 'Tab' ) ;
97+
98+ console . log ( 'Menulis uid' ) ;
99+ await page . keyboard . type ( account . UID ) ;
100+ await page . keyboard . press ( 'Tab' ) ;
85101
86- console . log ( 'Menulis password' ) ;
87- await page . keyboard . type ( account . PASSWORD ) ;
102+ console . log ( 'Menulis password' ) ;
103+ await page . keyboard . type ( account . PASSWORD ) ;
104+ }
88105
89106 await readlineInterface . question ( 'Tekan enter jika sudah login' ) ;
90107
91- console . log ( 'Sedang menyinkronkan cookie' ) ;
92- const cookie = await browser . cookies ( ) ;
93- await saveCookies ( cookiesPath , account . UID , cookie ) ;
94- console . log ( 'Cookie selesai di sinkronkan' ) ;
108+ const newCookies = await browser . cookies ( ) ;
109+ await saveCookies ( cookiesPath , account . UID , newCookies ) ;
110+ console . log ( 'Menyimpan cookie baru' ) ;
95111 } else {
96112 console . log ( 'Cookie valid' ) ;
97113 }
0 commit comments