Bei der Installation von Puppeteer unter Linux können die folgenden Probleme auftreten. Dieser Artikel zeigt Ihnen, wie Sie aus der Patsche kommen!
Der Vorgang, mit dem ich Puppeteer erfolgreich installiert und tatsächlich Screenshots gemacht habe, läuft wie folgt ab: 1. Installieren Sie nodejs und npm # Herunterladen und dekomprimieren Sie wget -c https://nodejs.org/dist/v8.9.1/node-v8.9.1-linux-x64.tar.xz tar -xvf node-v8.9.1-linux-x64.tar.xz # Verschieben und umbenennen (optional) mv node-v8.9.1-linux-x64 /www/nodejs # Erstellen Sie einen Softlink (Verknüpfung). Wenn der Name im vorherigen Schritt anders ist, passen Sie den unterstrichenen Teil dieses Schritts entsprechend der tatsächlichen Situation an. ln -s /www/nodejs/bin/node /usr/local/bin/node ln -s /www/nodejs/bin/npm /usr/local/bin/npm 2. Installieren Sie Chromium 3. Installieren Sie Puppeteer-Core (die direkte Installation von Puppeteer führt zu einem Fehler, da Chromium nicht heruntergeladen werden kann). 4. Erstellen Sie ein neues a.js const puppeteer = erforderlich('puppeteer-core'); (asynchron () => { const Browser = warte auf Puppeteer.launch({ ausführbarer Pfad: „/usr/bin/chromium-browser“, Argumente: ["--no-sandbox"] }); const page = warte auf Browser.neueSeite(); warte auf Seite.goto('https://www.baidu.com'); warte auf Seite.Screenshot({Pfad: 'Beispiel.png'}); warte auf Browserschließen(); })(); Der Code in diesem Schritt kann sich von dem im Internet unterscheiden. Einer davon ist, dass der Code in require puppeteer-core statt puppeteer ist, weil wir puppeteer-core statt puppeteer installiert haben Der andere Grund ist, dass es beim Starten zwei Parameter gibt. Der erste Parameter ist auch darauf zurückzuführen, dass wir Puppeteer nicht direkt installiert haben, sodass wir den Pfad angeben müssen. Der zweite Parameter ist auf einige Einschränkungen von Chromium zurückzuführen, und das Root-Konto muss diesen Parameter hinzufügen, um ausgeführt zu werden 5. Führen Sie a.js aus Nach der Ausführung können Sie ein Beispiel sehen.png Hinweis: Wenn die Seite Chinesisch enthält, wird sie möglicherweise nicht richtig angezeigt, da keine chinesischen Schriftarten vorhanden sind. Die Lösung besteht darin, die chinesischen Schriftarten auf Ihrem Computer unter c:/windows/fonts direkt nach /usr/share/fonts/chinese auf dem Server hochzuladen (standardmäßig gibt es kein chinesisches Verzeichnis, Sie können also selbst eines erstellen). :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::3s::::::333:33333333333333333333ag33333333333333333333333333333 es333333333333333333333333333333 es33 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann dann dann dann aber33333333333333333333 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 dann3 dann3 aber3 dann3 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann nichtie dasen aber aber abersossoss aberstens aberstensss aberten aber abers :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::3s::::::333:33333333333333333333ag33333333333333333333333333333 es333333333333333333333333333333 es33 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann dann dann dann aber33333333333333333333 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 dann3 dann3 aber3 dann3 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann nichtie dasen aber aber abersossoss aberstens aberstensss aberten aber abers ::::::::::: Puppeter-bezogene Dokumente https://pptr.dev/ Zusammenfassen Oben habe ich Ihnen die Verwendung von Puppeteer unter Linux (CentOS) zur Realisierung der Screenshot-Funktion für Webseiten vorgestellt. Ich hoffe, es wird Ihnen hilfreich sein! Das könnte Sie auch interessieren:
|
<<: Eine kurze Diskussion zum Implementierungsprinzip des Vue-Slots
>>: Detaillierte Erläuterung der MySQL-Remoteverbindungsberechtigung
Der spezifische Code zur Implementierung von Skin...
In diesem Artikel wird das grafische Tutorial zur...
Ich habe gerade einen Alibaba Cloud-Host gekauft ...
Inhaltsverzeichnis Vorwort Eingabefeldkomponente ...
Voraussetzung: Sie müssen das Modul ngx_http_head...
Inhaltsverzeichnis 1. Beispielcode 2. Sehen Sie d...
Inhaltsverzeichnis 1. Einleitung 2. Installation ...
In diesem Artikel wird der spezifische JavaScript...
Inhaltsverzeichnis Vorarbeit Backend-Konstruktion...
Wenn wir in einem Terminal oder einer Konsole arb...
1. dhtmlxBaum dHTMLxTree ist ein Tree-Menu-Steuer...
Vue+iview-Menü und Tab-Verknüpfung Ich entwickle ...
html <div > <button type="button&qu...
Da ich auf einen neuen Computer gewechselt bin, m...
<br />Einige Webseiten sehen nicht groß aus,...