with Puppeteer and Unleashed Software?
Get the HTML of a webpage using Puppeteer. See the documentation for details.
Get the title of a webpage using Puppeteer. See the documentation
Captures a screenshot of a page using Puppeteer. See the documentation
Puppeteer is a Node.js library which provides a high-level API to control Chrome/Chromium over the DevTools Protocol. Puppeteer runs in headless mode on Chromium on Pipedream.
Using Puppeteer you can perform tasks including:
import { puppeteer } from '@pipedream/browsers';
export default defineComponent({
async run({steps, $}) {
const browser = await puppeteer.browser();
// Interact with the web page programmatically
// See Puppeeter's Page documentation for available methods:
// https://pptr.dev/api/puppeteer.page
const page = await browser.newPage();
await page.goto('https://pipedream.com/');
const title = await page.title();
const content = await page.content();
// The browser needs to be closed, otherwise the step will hang
await browser.close();
return { title, content }
},
})
import { axios } from "@pipedream/platform";
import crypto from "crypto";
export default defineComponent({
props: {
unleashed_software: {
type: "app",
app: "unleashed_software",
}
},
async run({ steps, $ }) {
const baseUrl = "https://api.unleashedsoftware.com";
const resource = "Accounts";
// The queryString is used in calculating signature, add your query string parameters
// e.g. for the Customers resource customerCode=FRANCK&includeObsolete=true
// or just pass an empty string
const queryString = "";
const uri = `${baseUrl}/${resource}${queryString ? `?${queryString}` : ""}`
// Generate HMAC-SHA256 signature
const signature = crypto
.createHmac("sha256", this.unleashed_software.$auth.api_key)
.update(queryString)
.digest("base64")
// Make the request
return await axios($, {
method: "GET",
url: uri,
headers: {
"api-auth-id": this.unleashed_software.$auth.api_id,
"api-auth-signature": signature,
"Accept": "application/json",
"Content-Type": "application/json; charset=utf-8",
},
});
},
})