with Frappe and Puppeteer?
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
The Frappe API provides a robust interface to interact with the Frappe Framework, enabling developers to create, read, update, and delete records in Frappe apps, trigger workflows, and handle complex business logic. Leveraging Pipedream's capabilities, you can harness this API to automate tasks, sync data across different platforms, and build powerful serverless workflows that enhance the productivity and efficiency of your business processes.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
frappe: {
type: "app",
app: "frappe",
}
},
async run({steps, $}) {
return await axios($, {
url: `${this.frappe.$auth.base_url}/api/method/frappe.auth.get_logged_user`,
auth: {
username: `${this.frappe.$auth.api_key}`,
password: `${this.frappe.$auth.api_secret}`,
},
})
},
})
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 }
},
})