Кукольник - Как использовать userDataDir в облачных функциях Firebase? - PullRequest
0 голосов
/ 07 октября 2019

Этот сценарий кукловода прекрасно работает локально, однако не использует userDataDir при работе в облачных функциях. Я пробовал все комбинации инициализации userDataDir.

Обновление:

Структура папки:

Functions
├── index.js
│   ├── userDataDir

index.js:

const functions = require("firebase-functions");
const puppeteer = require("puppeteer");
const path = require("path");

exports.testPupFunction = functions
  .region("us-west1")
  .runWith({ memory: "1GB", timeoutSeconds: 60 })
  .https.onRequest(async (req, res) => {
    const browser = await puppeteer.launch({
      headless: true,
      ignoreHTTPSErrors: true,
      args: [
        `--user-data-dir=${path.resolve(__dirname, "./userDataDir")}`,
         `--user-data-dir=${path.resolve(__dirname, "userDataDir")}`,
        `--user-data-dir=./userDataDir`,

        "--disable-setuid-sandbox",
        "--no-sandbox"
      ],
      userDataDir: "./userDataDir"
      userDataDir: "userDataDir"
    });
  try {
      const page = await browser.newPage();
      await page.setViewport({ width: 800, height: 600 });

      const delay = ms => new Promise(resolve => setTimeout(resolve, ms));

      await page.goto("stackoverflow.com", {
        waitUntil: "networkidle0"
      });
      await delay(1000);
      const buffer = await page.screenshot({ fullPage: true });
      res.type("image/png").send(buffer);
    } catch (e) {
      await browser.close();
      res.status(500).send(e.toString());
    }
    await browser.close();
  });

Любойидеи как починить? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...