---
title: "Web Scraping mit Ghost Cursor im Jahr 2026"
slug: web-scraping-with-ghost-cursor
date: 2025-06-29T10:49:04+00:00
modified: 2025-11-04T08:49:01+00:00
permalink: https://brightdata.de/blog/web-data-de/web-scraping-with-ghost-cursor
type: blog
---

[ Blog ](https://brightdata.de/blog "Blog") / [Web Data](https://brightdata.de/blog/web-data-de)







 [Web Data](https://brightdata.de/blog/web-data-de)

# Web Scraping mit Ghost Cursor im Jahr 2026

Machen Sie Ihren Web Scraper mit Ghost Cursor und Puppeteer weniger auffindbar. Erfahren Sie, wie Sie ihn einrichten und für ein menschenähnliches Scrapen verwenden.

 8 min lesen





 [ ![Jacob Nulty](https://media.brightdata.de/2024/12/Jacob-Nulty-50x50.jpg) ](https://brightdata.com/blog/authors/jake-nulty)

 [Jake Nulty

Technical Writer

 ](https://brightdata.com/blog/authors/jake-nulty)





 ![Web Scraping with Ghost Cursor](https://media.brightdata.de/2025/06/Web-Scraping-with-Ghost-Cursor.png)





In dieser Anleitung erfahren Sie mehr über Ghost Cursor. Wenn Sie das Tutorial beendet haben, werden Sie in der Lage sein, die folgenden Fragen zu beantworten.

- Was ist Ghost Cursor?
- Mit welchen Tools ist Ghost Cursor kompatibel?
- Wie wird Ghost Cursor verwendet?
- Ist es kompatibel mit Entsperrungstools (Proxies, Remote-Browser usw.)?
- Wann ist Ghost Cursor die richtige Wahl?

## Was ist Ghost Cursor und warum sollte es Sie interessieren?

Ghost Cursor ist ein Plug-in für [Puppeteer](/blog/wie/web-scraping-puppeteer). Es ermöglicht Ihnen, den Mauszeiger zu steuern und Seiteninteraktionen mit menschenähnlichen Bewegungen durchzuführen.

Wenn Sie mit Puppeteer auf eine Schaltfläche klicken, bewegt sich der Cursor sofort auf die Schaltfläche und klickt sie an. Das ist sehr roboterhaft. Ja, es ist schnell und effizient, aber es ist eines der vielen Dinge, die Sie beim Scrapen des Webs oft blockieren.

![Wie sich der Cursor in Puppeteer bewegt](https://media.brightdata.com/2025/06/image-106-1024x302.png)Mit Ghost Cursor erstellen wir eine unendliche Anzahl von Punkten auf einer Kurve zwischen zwei Punkten auf der Seite. Der Cursor folgt dann dieser Kurve von seiner aktuellen Position zu Ihrem Zielelement. Diese Kurve sieht sehr viel menschlicher aus.

![Wie sich der Cursor mit Ghost Cursor bewegt](https://media.brightdata.com/2025/06/image-107-1024x480.png)## Erste Schritte

Bevor wir mit dem Programmieren beginnen, gehen wir davon aus, dass Sie mit JavaScript vertraut sind. Zunächst müssen wir einen neuen Projektordner erstellen und ein JavaScript-Projekt initialisieren.

Der folgende Befehl erstellt einen neuen Ordner und springt in unser Projektverzeichnis.

```none
mkdir your-ghost-cursor-project
cd your-ghost-cursor-project
```

Sie können `npm init` verwenden, um diesen neuen Ordner in ein NodeJS-Projekt zu konvertieren. Wir verwenden das `--y` Flag, weil dies ein Tutorial ist. Wir brauchen keine sofortige Einrichtung mit Lizenzierungsentscheidungen.

```none
npm init --y
```

Jetzt installieren wir unsere Abhängigkeiten. Ziemlich einfach – wir haben nur zwei.

```none
npm install ghost-cursor puppeteer
```

## Grundlegende Verwendung des Ghost Cursors

Im folgenden Skript demonstrieren wir die grundlegende Verwendung von Ghost Cursor. Zunächst starten wir einen Headful-Browser – dies ist keine Voraussetzung, aber Sie werden Ghost Cursor in Aktion sehen können.

Nachdem wir eine neue Seite erstellt haben, übergeben wir sie an `installMouseHelper()`. Dies ermöglicht es uns, die Bewegung des Cursors innerhalb der gerenderten Seite zu sehen. Anschließend erstellen wir ein Cursor-Objekt. Der Cursor erhält die Position des Buches und klickt dann darauf.

Zum Schluss machen wir einen Screenshot der Produktseite, bevor wir unseren Browser schließen und das Programm beenden.

```none
const puppeteer = require('puppeteer');
const { createCursor, installMouseHelper } = require('ghost-cursor');

//this function holds our runtime
async function run() {

    //launch a headed browser to watch ghost cursor in action
    const browser = await puppeteer.launch({
        headless: false,
    });

    const page = await browser.newPage();

    //this allows you to watch the cursor as it moves around
    await installMouseHelper(page);

    //create the actual cursor object
    const cursor = createCursor(page);

    await page.goto("https://books.toscrape.com");

    //find the link inside the product pod
    const book = await cursor.getElement("article[class='product_pod'] a");

    //get its location (x,y) coordinates
    const location = cursor.getLocation(book);

    //move to the coordinates
    await cursor.moveTo(location);

    //click on the book
    await cursor.click(book);

    //take a screenshot of the product page
    await page.screenshot({path: "book.png"});

    await browser.close();
}

run().catch(console.error);
```

## Verfügbare Methoden in Ghost Cursor

Jetzt, wo Sie Ghost Cursor in Aktion gesehen haben, wollen wir uns ansehen, was die einzelnen Methoden tun. Jede von ihnen ist ein neues Element für Ihren Scraping-Werkzeugkasten.

### `installMouseHelper()`

Wir haben `installMouseHelper()` verwendet, um die Mausbewegung innerhalb des gerenderten Browsers zu verfolgen. Mit dieser Methode können Sie den Cursor in Aktion beobachten. Diese Funktion ist für die Verwendung des Cursors nicht erforderlich und benötigt einen Browser mit Kopfdaten, um zu funktionieren. Es handelt sich eher um ein neuartiges Debugging-Teil als um ein nützliches Werkzeug.

```none
//launch a headed browser to watch ghost cursor in action
const browser = await puppeteer.launch({
    headless: false,
});

const page = await browser.newPage();

//this allows you to watch the cursor as it moves around
await installMouseHelper(page);
```

### `getElement()`

`getElement()` funktioniert ziemlich genau so wie `page.$()` in Puppeteer. Tatsächlich haben wir sogar reguläre Puppeteer-Elemente an andere Methoden übergeben und der Cursor war fehlerhaft, funktionierte aber weiterhin. Wenn man ein Element auf der Seite sucht, ist es am besten, `cursor.getElement()` zu verwenden.

```none
//find the link inside the product pod
const book = await cursor.getElement("article[class='product_pod'] a");
```

### `getLocation()`

Wenn Sie ein Element gefunden haben, müssen Sie oft seine Position abfragen. Mit dieser Methode können Sie die (x,y)-Koordinaten eines beliebigen Seitenelements mit minimalem Code abrufen.

```none
//get its location (x,y) coordinates
const location = cursor.getLocation(book);
```

### `move()`

`move()` ist eine sehr praktische Methode. Sie können ein Selektorobjekt oder ein Seitenelement direkt an `move()` übergeben, und der Cursor bewegt sich dorthin – natürlich, wie ein Mensch.

```none
//move straight to the book
await cursor.move(book);

//click on the book
await cursor.click(book);
```

### `moveTo()`

Mit `moveTo` können Sie Koordinaten direkt an den Cursor übergeben. Anstatt sich zum Buch zu bewegen, verwenden wir `getLocation()` und übergeben dessen Ausgabe mit `moveTo()` an den Cursor.

```none
//move to the coordinates
await cursor.moveTo(location);

//click on the book
await cursor.click(book);
```

### `scrollIntoView()`

Manchmal möchte man den Cursor nicht direkt über ein Objekt bewegen. Möglicherweise müssen Sie nur die Seite scrollen. Mit `scrollIntoView()` können Sie einen Selektor oder ein Seitenelement übergeben und so lange scrollen, bis Ihr Element im Ansichtsfenster erscheint.

```none
//scroll until the book is in the viewport
await cursor.scrollIntoView(book);

//click on the book
await cursor.click(book);
```

### `scrollTo()`

`scrollTo()` ist eine weitere sehr praktische Funktion. Sie erlaubt die Übergabe von `oben`, `unten`, `links` und `rechts`. Steuern Sie Ihre Scroll-Bewegungen mit natürlicher Sprache, keine KI erforderlich!

```none
//scroll to the top of the page
await cursor.scrollTo('top');

//click on the book
await cursor.click(book);
```

### `scroll()`

`scroll()` ist vielleicht die einfachste unserer Bildlaufaktionen. Mit scroll, übergeben Sie (x,y) Koordinaten – erinnern Sie sich an `getLocation()`? Dann scrollt der Cursor, bis er sich innerhalb des Viewports befindet.

```none
//move to the coordinates
await cursor.scroll(location);

//click on the book
await cursor.click(book);
```

## Allgemeine Einschränkungen von Ghost Cursor

- **CAPTCHAs**: Ghost Cursor kann Sie menschlicher erscheinen lassen, aber am Ende des Tages sind Sie immer noch derjenige, der den Scraper kontrolliert. Werfen Sie einen Blick auf die [Top 10 CAPTCHA-Löser](/blog/web-data-de/best-captcha-solvers), um mehr zu erfahren.
- **Puppeteer**: Ghost Cursor unterstützt offiziell nur Puppeteer. Im Vergleich zu anderen Headless-Browsern wie [Selenium](/blog/wie/using-selenium-for-web-scraping) und [Playwright](/blog/wie/playwright-web-scraping) ist Puppeteer ziemlich eingeschränkt und es mangelt an Funktionen und Wartung.
- **Nur lokal**: Ghost Cursor muss lokal ausgeführt werden. Dies schränkt die Entsperrungsmöglichkeiten stark ein. Mit [Scraping Browser](/products/scraping-browser) können Sie Remote-Headless-Browser mit automatischer Proxy-Verwaltung und CAPTCHA-Auflösung ausführen. Da Ghost Cursor das Remote-Browsing nicht unterstützt, kann es die Vorteile der [besten verfügbaren Tools](/blog/web-data-de/best-web-scraping-tools) nicht voll ausschöpfen.

## Proxy-Integration

Puppeteer unterstützt zwar keinen Scraping-Browser, lässt sich aber mit lokalen Proxys integrieren. Puppeteer folgt der Standard-Proxy-Authentifizierung mit Ihrer grundlegenden Proxy-URL, Ihrem Benutzernamen und Passwort.

Der nachstehende Code bietet Ihnen ein grundlegendes Skript, das Sie für jede Puppeteer/Ghost Cursor-Laufzeit anpassen können. Stellen Sie sicher, dass Sie den Benutzernamen, den Zonennamen und das Passwort durch Ihre eigenen Anmeldedaten ersetzen!

```none
const puppeteer = require('puppeteer');
const { createCursor } = require('ghost-cursor');

async function run() {
    const browser = await puppeteer.launch({
        headless: false,

        args: [
            '--proxy-server=http://brd.superproxy.io:33335',
            '--ignore-certificate-errors'
        ]

    });

    const page = await browser.newPage();

    const cursor = createCursor(page);

    await page.authenticate({
        username: "brd-customer-<your-username>-zone-<your-zone-name>",
        password: "<your-password>"
    });

    await page.goto("https://ipinfo.io");

    await cursor.click("a[href='/what-is-my-ip']");

    await page.screenshot({path: "ipinfo.png"});

    await browser.close();
}

run().catch(console.error);
```

Wie bereits erwähnt, können Sie mit Puppeteer und Ghost Cursor die Vorteile von Scraping Browser selbst nicht voll ausschöpfen. Die nachstehende Aufschlüsselung zeigt die Kosten für einen einzigen Durchlauf mit dem oben genannten Scraper. Die Kosten sind ein echter Augenöffner.

![Kostenaufschlüsselung für Ghost Cursor mit Proxys](https://media.brightdata.com/2025/06/image-108.png)Wenn Sie Ihre Proxys manuell verwalten, ist es am besten, eine Rotation zu verwenden. Wie Sie mit Web Unlocker sehen können, kostet die Durchführung dieses Scraps $0,23. Mit einer privaten Verbindung waren es $0,05 und mit einer Rechenzentrumsverbindung nur $0,01.

**Bei der Verwaltung von Proxys mit Ghost Cursor und Puppeteer sollten Sie, wenn möglich, Rechenzentrums-Proxys verwenden. Residential Proxies sollten nur verwendet werden, wenn die Verbindung zum Rechenzentrum von der Zielsite blockiert wird.**

## Schlussfolgerung

Ghost Cursor ist eine einfache und effektive Methode, um Ihren Scraper menschlicher erscheinen zu lassen. Wenn Ihre Scrolls und Klicks natürlicher wirken, ist die Wahrscheinlichkeit geringer, dass Sie von Ihrer Zielseite blockiert werden. Dieses Tool funktioniert mit der allgemeinen Proxy-Integration, ist aber nicht mit Remote-Browsern kompatibel.

Für grundlegende Scraping-Aufgaben kann Ghost Cursor Ihrem Code ohne viel Boilerplate etwas Menschlichkeit hinzufügen. Werfen Sie einen Blick auf die in diesem Artikel erwähnten Scraping-Produkte, um Ihr Scraping noch heute zu verbessern.

- [Web Unlocker](/products/web-unlocker): Automatisierte CAPTCHA-Auflösung und Proxy-Verwaltung. Schließen Sie es einfach an und fahren Sie mit dem Programmieren fort.
- [Scraping-Browser](/products/scraping-browser): Remote-Browsing mit verwalteten Proxies und einem CAPTCHA-Löser.
- [Proxys für Privatanwender](/proxy-types/residential-proxies): Leiten Sie Ihren Datenverkehr über echte private Internetverbindungen auf Endgeräten. Mischen Sie sich unter den besten Verkehr.
- [Datacenter Proxies](/proxy-types/datacenter-proxies): High-End-Hardware mit blitzschnellen Verbindungen. Scrapen Sie Zwischenstandorte zu niedrigen Kosten.

Melden Sie sich für eine kostenlose Testversion an und legen Sie noch heute los!



Vertrieb kontaktierenGratis testen![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Inhaltsverzeichnis







Dedicated Scraper APIs &amp; No-Code Scrapers

Over 1000 scrapers for all popular domains. Simplify your web scraping.

[See pricing](/pricing/web-scraper "See pricing")

Just want data? Skip scraping.

Hundreds of ready-to-use datasets from all popular domains.

[See pricing](/pricing/datasets "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Web+Scraping+mit+Ghost+Cursor+im+Jahr+2026&u=https://brightdata.de/blog/web-data-de/web-scraping-with-ghost-cursor) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Web+Scraping+mit+Ghost+Cursor+im+Jahr+2026&url=https://brightdata.de/blog/web-data-de/web-scraping-with-ghost-cursor) [ ](http://www.reddit.com/submit?title=Web+Scraping+mit+Ghost+Cursor+im+Jahr+2026&url=https://brightdata.de/blog/web-data-de/web-scraping-with-ghost-cursor)







##  Das könnte Sie auch interessieren

 [ ![OpenHuman with Bright Data](https://media.brightdata.de/2026/09/OpenHuman-with-Bright-Data.png) ](https://brightdata.de/blog/ai/openhuman-with-bright-data "Produktionsreifer Web-Zugriff in OpenHuman über die Bright Data CLI")

 [AI



 ![Antonello Zanini](https://media.brightdata.de/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Produktionsreifer Web-Zugriff in OpenHuman über die Bright Data CLI

Integrieren Sie die Bright Data CLI mit OpenHuman, um produktionsreifen Web-Zugriff und Datenerhebung für KI-Agenten zu ermöglichen.



 09-Sep-2026

 12 min lesen

 ](https://brightdata.de/blog/ai/openhuman-with-bright-data)

 [ ![Multimodal Web Scraping with MiniMax](https://media.brightdata.de/2026/09/Multimodal-Web-Scraping-with-MiniMax.png) ](https://brightdata.de/blog/web-data-de/multimodal-web-scraping-with-minimax "Multimodales Web-Scraping mit MiniMax")

 [Web Data



 ![Antonello Zanini](https://media.brightdata.de/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Multimodales Web-Scraping mit MiniMax

Kombinieren Sie Bright Data Web Unlocker mit MiniMax M3 Vision, um strukturierte Daten aus Bildern und Webseiten-Screenshots zu extrahieren.



 09-Sep-2026

 4 min lesen

 ](https://brightdata.de/blog/web-data-de/multimodal-web-scraping-with-minimax)

 [ ![The 10 Best CLI Tools for Codex in 2026](https://media.brightdata.de/2026/08/The-10-Best-CLI-Tools-for-Codex-in-2026.png) ](https://brightdata.de/blog/ai/best-cli-tools-for-codex "Die 10 besten CLI-Tools für Codex im Jahr 2026 – Getestet & Bewertet")

 [AI



 ![Daniel Shashko](https://media.brightdata.de/2022/04/Daniel-Shashko-2-50x50.png)

Daniel Shashko

Web Data &amp; AI Expert





### Die 10 besten CLI-Tools für Codex im Jahr 2026 – Getestet &amp; Bewertet

Die 10 CLI-Tools, die Codex schneller und leistungsfähiger machen, beginnend mit dem Bright Data CLI für echten Web-Zugriff aus der Sandbox heraus.



 06-Sep-2026

 20 min lesen

 ](https://brightdata.de/blog/ai/best-cli-tools-for-codex)
