with Playwright and Google reCAPTCHA?
Validate a Google reCAPTCHA request (v2 or v3). See docs here
Generates a pdf of the page and store it on /tmp directory. See the documentation
Store a new screenshot file on /tmp directory. See the documentation
Playwright is a Node.js library which provides a high-level API to control Chrome/Chromium over the DevTools Protocol. Playwright runs in headless mode on Chromium on Pipedream.
Using Playwright you can perform tasks including:
import { playwright } from '@pipedream/browsers';
export default defineComponent({
async run({steps, $}) {
const browser = await playwright.launch();
// Interact with the web page programmatically
// See Playwright's Page documentation for available methods:
// https://playwright.dev/docs/api/class-page
const page = await browser.newPage();
await page.goto('https://pipedream.com/');
const title = await page.title();
const content = await page.content();
// Close context and browser otherwise the step will hang
await page.context().close()
await browser.close();
return { title, content }
},
})
Google reCAPTCHA API helps you detect abusive traffic on your website without any user friction. It does this by presenting CAPTCHA challenges to users they need to solve before submitting forms, ensuring these actions are not generated by bots. The API returns a score, helping you decide what action to take for your website: for instance, you might require further verification for low-scoring users. With Pipedream's ability to integrate with various APIs, you can create custom workflows that trigger upon the result of a reCAPTCHA verification, streamlining both security and user experience.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
google_recaptcha: {
type: "app",
app: "google_recaptcha",
}
},
async run({steps, $}) {
const data = {
"secret": `${this.google_recaptcha.$auth.secret}`,
"response": ``,
"remoteip": ``,
}
return await axios($, {
method: "post",
url: `https://www.google.com/recaptcha/api/siteverify`,
data,
})
},
})