Проблема: < /p>
Сообщение об ошибке, которое я получаю: < /p>
Код: Выделить всё
Could not find Chrome (ver. 131.0.6778.85). This can occur if either
1. you did not perform an installation before running the script (e.g. `npx puppeteer browsers install chrome`) or
2. your cache path is incorrectly configured (which is: /root/.cache/puppeteer).
For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.
Детали среды:
Локальная машина: отлично работает без каких -либо проблем. /> Установка кукловода с хромом: < /p>
Код: Выделить всё
npm install puppeteer
< /code>
Настройка API < /p>
app.get("/_api/screenshot", async (req, res) => {
try {
// Get the URL from query string, default to example.com if not provided
const targetUrl = req.query.url || "https://example.com";
console.log("Starting browser launch...");
// Launch Puppeteer with necessary arguments for cloud environments
const browser = await puppeteer.launch({
headless: true,
args: [
"--no-sandbox",
"--disable-setuid-sandbox",
"--disable-dev-shm-usage",
"--single-process",
"--no-zygote",
],
// Use the path from environment variable or let Puppeteer find it
executablePath: process.env.PUPPETEER_EXECUTABLE_PATH,
});
console.log("Browser launched successfully");
const page = await browser.newPage();
console.log("Navigating to:", targetUrl);
// Navigate to the target URL and wait until network is idle
await page.goto(targetUrl, { waitUntil: "networkidle0" });
console.log("Page loaded, taking screenshot");
// Take a screenshot as a base64 string
const screenshotBuffer = await page.screenshot({ encoding: "base64" });
console.log("Screenshot taken, closing browser");
await browser.close();
// Return the screenshot as an HTML image
res.send(`
[img]data:image/png;base64,${screenshotBuffer}[/img]
`);
} catch (error) {
console.error("Error in /api/screenshot:", error);
res.status(500).json({
error: "Failed to take screenshot",
message: error.message,
stack: error.stack,
puppeteerInfo: process.env.PUPPETEER_EXECUTABLE_PATH || "No path set",
});
}
});
Примечание. Мы используем рабочий процесс GitHub для развертывания обновленный код в Azure, если кто -то знает или сделает это, пожалуйста>
Подробнее здесь: https://stackoverflow.com/questions/795 ... rks-locall
Мобильная версия