File size: 1,333 Bytes
1f4041b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
const app = require("express")();
let chrome = {};
let puppeteer;
if (process.env.AWS_LAMBDA_FUNCTION_VERSION) {
chrome = require("chrome-aws-lambda");
puppeteer = require("puppeteer-core");
} else {
puppeteer = require("puppeteer");
}
app.get("/", (req, res) => {
res.send('Hello AuthCode')
})
app.get("/api", async (req, res) => {
let options = {};
if (process.env.AWS_LAMBDA_FUNCTION_VERSION) {
options = {
args: [...chrome.args, "--hide-scrollbars", "--disable-web-security"],
defaultViewport: chrome.defaultViewport,
executablePath: await chrome.executablePath,
headless: true,
ignoreHTTPSErrors: true,
};
}
try {
let browser = await puppeteer.launch(options);
let page = await browser.newPage();
await page.goto("https://liaobots.work/");
await page.click('label.button');
await page.waitForNavigation();
await page.waitForTimeout(2000);
// Execute JavaScript code in the context of the page
const value = await page.evaluate(() => {
// Retrieve the value from localStorage
return localStorage.getItem('authCode');
});
res.send(value);
} catch (err) {
console.error(err);
return null;
}
});
app.listen(process.env.PORT || 3000, () => {
console.log("Server started");
});
module.exports = app; |