Skip to content

Commit feeed1a

Browse files
committed
sample image
1 parent b70ca5e commit feeed1a

File tree

5 files changed

+125
-236
lines changed

5 files changed

+125
-236
lines changed

express/server.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ const bodyParser = require("body-parser");
1010
const path = require("path");
1111
const { UpdateBadges, MetaImage } = require("../models/routes/badges.js");
1212
const { HealthCheck, BaseRoute } = require("../models/routes/base.js");
13+
const { Screenshot } = require("../services/meta/snapshot-capture.js");
1314

1415
// Configuration
1516
var app = express();
@@ -33,7 +34,9 @@ router.post("/badges", function (req, res) {
3334
});
3435

3536
router.get("/:userId/badges", async function (req, res) {
36-
MetaImage(req, res);
37+
// MetaImage(req, res);
38+
const base64 = await Screenshot();
39+
res.end(base64);
3740
});
3841

3942
app.use(bodyParser.json());

package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@
1919
"json-graphql-parser": "^0.1.9",
2020
"netlify-lambda": "^2.0.15",
2121
"node-html-to-image": "^3.2.4",
22+
"puppeteer": "^19.3.0",
2223
"puppeteer-chromium-resolver": "^19.1.0",
2324
"serverless-http": "^3.1.0",
2425
"webpack-node-externals": "^3.0.0"
2526
},
2627
"pcr": {
27-
"revision": "869685"
28-
}
28+
"revision": "869685"
29+
}
2930
}

services/meta/snapshot-capture.js

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
const puppeteer = require("puppeteer"); // Require Puppeteer moduleconst url = "https://www.testim.io/"; // Set website you want to screenshot
2+
const url = "https://www.testim.io/"; // Set website you want to screenshot
3+
4+
const Screenshot = async () => {
5+
// Define Screenshot function
6+
console.log("Inside Screenshot");
7+
const browser = await puppeteer.launch(); // Launch a "browser"
8+
const page = await browser.newPage(); // Open new page
9+
await page.goto(url); // Go website
10+
await page.waitForSelector("#header > div > div > a.h-logo"); // Method to ensure that the element is loaded
11+
const logo = await page.$("#header > div > div > a.h-logo"); // logo is the element you want to capture
12+
await logo.screenshot({
13+
path: "testim.png",
14+
});
15+
const base64 = await page.screenshot({ encoding: "base64" });
16+
console.log("Result obtained");
17+
await page.close(); // Close the website
18+
await browser.close(); // Close the browser
19+
return base64;
20+
};
21+
Screenshot();
22+
23+
module.exports.Screenshot = Screenshot;

testim.png

3.79 KB
Loading

0 commit comments

Comments
 (0)