My code works fine when running locally I have installed the module with npm install chrome-aws-lambda before deploying and tried chmod -R +r node_modules/ incase it was a read permission error, still no luck.
My code for handler.js:
'use strict';
const {getArrayOfPages} = require("./utils");
const creds = require("./creds.json");
module.exports.hello = async (event, context) => {
try {
var browserendpoint = await getArrayOfPages(creds.username, creds.password)
console.log("DATA: " + browserendpoint)
}
catch(error) {
// Code that handles any potential errors
console.log(error)
}
}
My code for getArrayOfPages.js:
const sign_in = 'www.example.com/';
const chromium = require('chrome-aws-lambda')
module.exports = async function (username, password) {
try {
browser = await chromium.puppeteer.launch({
args: chromium.args,
defaultViewport: chromium.defaultViewport,
executablePath: await chromium.executablePath,
headless: chromium.headless,
slowMo: 250, // slow down by 250ms
userDataDir: "/tmp/" //save session data/cookies to be shared between lambda functions
});
const endpoint = await browser.wsEndpoint();
const page = await browser.newPage();
await page.goto(sign_in, { waitUntil: 'networkidle0' })
// code to login here
await browser.disconnect()
return endpoint
}
catch (error) {
// Code that handles any potential errors
console.log(error)
}
}