What do you want to automate

with Kafka and Puppeteer?

Prompt, edit and deploy AI agents that connect to Kafka, Puppeteer and 2,500+ other apps in seconds.

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Get HTML with the Puppeteer API

Get the HTML of a webpage using Puppeteer. See the documentation for details.

 
Try it
Get Page Title with the Puppeteer API

Get the title of a webpage using Puppeteer. See the documentation

 
Try it
Get PDF with the Puppeteer API

Generate a PDF of a page using Puppeteer. See the documentation

 
Try it
Screenshot a Page with the Puppeteer API

Captures a screenshot of a page using Puppeteer. See the documentation

 
Try it
Integrate the Kafka API with the Puppeteer API
Setup the Kafka API trigger to run a workflow which integrates with the Puppeteer API. Pipedream's integration platform allows you to integrate Kafka and Puppeteer remarkably fast. Free for developers.

Connect Kafka

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { Kafka } from "kafkajs"
export default defineComponent({
  props: {
    kafka: {
      type: "app",
      app: "kafka",
    }
  },
  async run({steps, $}) {

    const kafka = new Kafka({
      brokers: [`${this.kafka.$auth.host}:${this.kafka.$auth.port}`],
    });

    const consumer = kafka.consumer({ groupId: 'TestGroup' });
    await consumer.connect()
    await consumer.subscribe({ topic: 'SampleTopic', fromBeginning: true });
    let consumedMessage = "";
    const eachMessage = async function({ topic, partition, message }){
      consumedMessage = message.value.toString();
      return consumedMessage;
    };  

    await consumer.run({
      eachMessage,
    });

    const producer = kafka.producer();  
    await producer.connect()
    await producer.send({
      topic: 'SampleTopic',
      messages: [
        { value: 'Welcome KafkaJS + Pipedream users! '+ new Date().toISOString() },
      ],
    });
    await producer.disconnect();

    const data = await consumer.describeGroup();
    return { consumedMessage, groupDescription: data };
  },
})

Overview of Puppeteer

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:

  • Capture Screenshots: Convert webpages into images.
  • Processing PDFs: parse and scan PDFs.
  • Web Scraping: Extract data from websites.
  • UI/UX Testing: Verify user interface and experience.
  • Integration with Test Frameworks: Combine with testing frameworks.
  • Task Automation: Automate web-related tasks like form filling.
  • Functional Testing: Automate user interactions to test web application functionality.
  • Regression Testing: Ensure new code changes don't introduce bugs.

Connect Puppeteer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 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 }
  },
})

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo