vikarshana commited on
Commit
25897e7
·
verified ·
1 Parent(s): efe50a8

Update server.js

Browse files
Files changed (1) hide show
  1. server.js +13 -10
server.js CHANGED
@@ -154,32 +154,35 @@ async function captureGDrivePayloadAndCookie(url, opts = {}) {
154
  console.log("No custom alert appeared.");
155
  }
156
 
 
157
  const pages = await browser.pages();
158
  let finalPage;
159
 
160
  if (pages.length > 1) {
 
161
  finalPage = pages[pages.length - 1];
162
  await finalPage.bringToFront();
163
- await finalPage.waitForTimeout(2000);
164
  } else {
165
  finalPage = page;
166
  }
167
 
168
- const finalUrl = finalPage.url();
169
 
170
- await page.close();
171
  if (finalPage !== page) await finalPage.close();
 
172
  await browser.close();
173
 
174
  return { success: true, url: finalUrl };
175
- } catch (err) {
176
- console.error('captureGDrivePayloadAndCookie error:', err);
177
- if (page) try { await page.close(); } catch {}
178
- if (browser) try { await browser.close(); } catch {}
179
- return { success: false, error: String(err.message || err) };
180
- }
181
- }
182
 
 
 
 
 
 
 
 
183
  app.get('/api/bypass', async (req, res) => {
184
  const { url } = req.query;
185
  if (!url) return res.status(400).json({ error: 'URL is required' });
 
154
  console.log("No custom alert appeared.");
155
  }
156
 
157
+ // Detect all pages after clicking
158
  const pages = await browser.pages();
159
  let finalPage;
160
 
161
  if (pages.length > 1) {
162
+ // Usually the popup is the last page
163
  finalPage = pages[pages.length - 1];
164
  await finalPage.bringToFront();
165
+ await finalPage.waitForTimeout?.(2000); // Safe optional chaining
166
  } else {
167
  finalPage = page;
168
  }
169
 
170
+ const finalUrl = finalPage.url(); // Get the URL of the popup or page
171
 
172
+ // Close pages safely
173
  if (finalPage !== page) await finalPage.close();
174
+ await page.close();
175
  await browser.close();
176
 
177
  return { success: true, url: finalUrl };
 
 
 
 
 
 
 
178
 
179
+ } catch (err) {
180
+ console.error('captureGDrivePayloadAndCookie error:', err);
181
+ if (page) try { await page.close(); } catch {}
182
+ if (browser) try { await browser.close(); } catch {}
183
+ return { success: false, error: String(err.message || err) };
184
+ }
185
+ }
186
  app.get('/api/bypass', async (req, res) => {
187
  const { url } = req.query;
188
  if (!url) return res.status(400).json({ error: 'URL is required' });