IT

Nightmare.js Installation und Verwendung in Node.js - Browser-Automatisierung

Nightmare.js ist eine Bibliothek zur Automatisierung von Browsern in einer Node.js-Umgebung. Sie können verschiedene Operationen wie das Erstellen von Screenshots, das Absenden von Formularen und die Seitennavigation automatisieren. Dieser Artikel erklärt die Installationsmethode und grundlegende Verwendung von Nightmare.js im Detail.

Shou Arisaka
3 Min. Lesezeit
7. Nov. 2025

Nightmare.js ist eine Bibliothek zur Automatisierung von Browsern in einer Node.js-Umgebung. Sie können verschiedene Operationen wie das Erstellen von Screenshots, das Absenden von Formularen und die Seitennavigation automatisieren. Dieser Artikel erklärt die Installationsmethode und grundlegende Verwendung von Nightmare.js im Detail.

Installation von Nightmare.js

Installieren wir zunächst Nightmare.js in Ihrem Projekt. Nachdem Sie bestätigt haben, dass Node.js und npm installiert sind, führen Sie den folgenden Befehl aus.

npm install nightmare

Dies installiert Nightmare.js in Ihrem Projekt.

Debugging

Debuggen Sie wie folgt.

set DEBUG=nightmare & node C:\document\js\nightmare-test.js

DEBUG=nightmare

Grundlegende Verwendung

Nightmare.js Ersteinrichtung

Um Nightmare.js zu verwenden, müssen Sie zunächst eine Instanz erstellen. Der folgende Code zeigt die grundlegende Ersteinrichtung für Nightmare.js.

const Nightmare = require('nightmare');
const nightmare = Nightmare({ show: true });

Durch Setzen der Option { show: true } wird das Browserfenster angezeigt. Dies ist nützlich für Debugging und Tests.

Seitennavigation

Schauen wir uns an, wie man mit Nightmare.js zu einer Webseite navigiert.

nightmare
  .goto('https://example.com')
  .then(() => console.log('Page loaded'))
  .catch(error => console.error('Failed to load the page', error));

Verwenden Sie die Methode goto, um zur angegebenen URL zu navigieren. Verarbeiten Sie, was nach dem Laden der Seite passiert, mit der Methode then und behandeln Sie Fehler mit der Methode catch.

Formulareingabe und -übermittlung

Schauen wir uns an, wie man Nightmare.js verwendet, um Formulare auszufüllen und abzusenden.

nightmare
  .goto('https://example.com/login')
  .type('#username', 'yourUsername')
  .type('#password', 'yourPassword')
  .click('#loginButton')
  .wait('#dashboard')
  .then(() => console.log('Login successful'))
  .catch(error => console.error('Login failed', error));

Verwenden Sie die Methode type, um Text in Formulareingabefelder einzugeben, und die Methode click, um Schaltflächen zu klicken. Verwenden Sie die Methode wait, um zu warten, bis die nächste Seite geladen ist.

Screenshots erstellen

Schauen wir uns an, wie man Screenshots von Webseiten mit Nightmare.js erstellt.

nightmare
  .goto('https://example.com')
  .screenshot('example.png')
  .then(() => console.log('Screenshot saved'))
  .catch(error => console.error('Failed to take screenshot', error));

Verwenden Sie die Methode screenshot, um einen Screenshot mit dem angegebenen Dateinamen zu speichern.

Seiteninhalt abrufen

Schauen wir uns an, wie man den Inhalt einer Webseite mit Nightmare.js abruft.

nightmare
  .goto('https://example.com')
  .evaluate(() => document.querySelector('h1').innerText)
  .then(text => console.log('Page title:', text))
  .catch(error => console.error('Failed to get page content', error));

Verwenden Sie die Methode evaluate, um JavaScript im Browser auszuführen und die Ergebnisse zu erhalten.

DuckDuckGo-Beispiel

Der folgende Code führt eine Suche auf DuckDuckGo durch und ruft den ersten Link aus den Suchergebnissen ab.

var Nightmare = require('nightmare');       
var nightmare = Nightmare({ show: true });

nightmare

  .goto('https://duckduckgo.com')
  .type('#search_form_input_homepage', 'github nightmare')
  .click('#search_button_homepage')
  .wait('#zero_click_wrapper .c-info__title a')
  .evaluate(function () {
    return document.querySelector('#zero_click_wrapper .c-info__title a').href;
  })
  .end()
  .then(function (result) {
    console.log(result);
  })
  .catch(function (error) {
    console.error('Search failed:', error);
  });

Zusammenfassung

Nightmare.js ist ein leistungsstarkes Tool für Browser-Automatisierung in einer Node.js-Umgebung. Von grundlegenden Installationsmethoden bis zur Seitennavigation, Formulareingabe, Screenshot-Erfassung und Seiteninhalt-Abruf können Sie verschiedene Operationen automatisieren. Verwenden Sie dies, um effizientes Web-Scraping und Automatisierungsaufgaben zu erreichen.

Diesen Artikel teilen

Shou Arisaka 7. Nov. 2025

🔗 Links kopieren