Führen Sie Headless Google Chrome unter Mac OS X beim Start aus

1033
Eat-man

Ich arbeite derzeit unter OS X El Capitan und möchte, dass Google Chrome beim Start im headless-Modus ausgeführt wird. Bisher habe ich versucht, dies über das Terminal zu tun, aber ich konnte keinen geeigneten Weg finden, den Headless-Modus zu starten. Was mache ich falsch?

Ich habe alle Kombinationen ausprobiert, die einzige, die derzeit für mich funktioniert, ist:

Öffnen Sie -a "Google Chrome" http://www.google.com

Aber noch kein Headless-Modus.

Und aufgrund meines begrenzten Wissens ist dies der beste Weg, um diesen Start beim Start durchzuführen, indem Sie eine bash-Datei verwenden. Korrigiere mich, wenn ich falsch liege.

Anregungen werden sehr geschätzt.

2

1 Antwort auf die Frage

1
Scot

Stellen Sie zunächst sicher, dass Sie mindestens v59 von Google Chrome verwenden, wodurch die Headless-Funktion eingeführt wurde.

Wenn ja, kann das Folgende für Sie arbeiten:

chrome --headless --remote-debugging-port=9222 http://www.google.com 

Sie müssen einen Alias ​​für die ausführbare Befehlszeilendatei für Chrome mit den folgenden Einstellungen festlegen (vorausgesetzt, Chrome ist am Standardspeicherort installiert):

alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome" 

Um dies zu testen, können Sie versuchen, an diese Adresse (in einem anderen Browser) zu gelangen:

http://localhost:9222 

Schauen Sie sich diese Seite bei Google als Referenz an.

Hier ist ein kurzes Skript, das Sie möglicherweise nützlich finden:

#!/bin/bash  url="http://www.google.com" port=9222 chrome="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" "$chrome" --headless --remote-debugging-port="$port" "$url" & 
Klappt wunderbar! Probleme treten jedoch immer dann auf, wenn ich versuche, eine .sh-Datei zu erstellen. Hier ist die Sache, ich versuche, eine Datei zu erstellen (.sh ist, was ich bisher als Option in Betracht gezogen habe), um kopfloses Google Chrome beim Start zu starten und ... wenn es möglich ist, um zu verhindern, dass es sogar geschlossen wird den Aktivitätsmonitor (oder starten Sie ihn erneut, wenn er geschlossen wird). Ich habe es unter Windows mit den .bat- und .vbs-Dateien gemacht, und der Übergang erschien mir recht geradlinig, aber ich war so falsch. Kannst du mir einen Hinweis geben, so etwas zu tun? Ich habe versucht, Chrome mit $, "..." zu starten, selbst mit dem vollständigen Pfad. Nichts scheint zu funktionieren. Eat-man vor 6 Jahren 0
@ Eat-Man Wie sieht dein Drehbuch aus? Wird Chrome gestartet und gestoppt - oder wird es überhaupt nicht ausgeführt? Scot vor 6 Jahren 0
Die einzige Funktionsweise besteht über das Terminal, indem Sie die Befehle aus Ihrem letzten Beitrag eingeben. Scheint so gut zu funktionieren, wie ich aus dem Aktivitätsmonitor sehen kann, da der Prozess angezeigt wird. Wenn ich das Terminalfenster schließe, wird der Prozess ebenfalls beendet, und ich konnte nicht herausfinden, was ich tun muss, um das Terminalfenster auszublenden. Hier ist was ich bisher gemacht habe. Es wird jedoch immer angezeigt: "chrome: command not found" `#! / Bin / bash echo off alias chrome =" / Applications / Google \ Chrome.app/Contents/MacOS/Google \ Chrome "| chrome --headless --remote-debugging-port = 9222 http: // www.google.com` Eat-man vor 6 Jahren 0
Entschuldigung für die 6 Änderungen. Ich bin ein Neuling und habe Probleme mit dem Format. Eat-man vor 6 Jahren 0
@ Eat-Man Kein Problem bei den Änderungen - ich mache das gleiche wie ich es durchgehe. Ich habe ein Skript hinzugefügt, das in der Antwort oben funktionieren sollte - es ist dort etwas besser als in einem Kommentar. Lass es mich wissen, wenn es funktioniert oder nicht, und ich werde es bearbeiten, falls nötig. Scot vor 6 Jahren 0
Das '&' ermöglicht Chrome, nachdem das Terminalfenster geschlossen wurde. Ich habe den Alias ​​geändert, um stattdessen eine Variable zu sein, und auch die URL und den Port so parametrisiert, dass sie leichter angepasst werden können. Scot vor 6 Jahren 0
Ok, ich erhalte die folgende Fehlermeldung: Zeile 5: Chrome.app/Contents/MacOS/Google: Keine solche Datei oder Verzeichnis Eat-man vor 6 Jahren 0
@ Eat-Man Sieht Ihr Skript so aus wie oben? Beachten Sie die hinzugefügten Anführungszeichen und dass die Schrägstriche weg sind ... Scot vor 6 Jahren 0
Jetzt gehts!!! Ja, es war ein schlechter Tippfehler. Mein Fehler. Wenn ich also diese .sh unter / System / Library / StartupItems speichere, wird das Skript theoretisch jedes Mal gestartet, oder? Eat-man vor 6 Jahren 0
@ Eat-Man Großartig! Ich bin froh, dass es funktioniert. Theoretisch funktioniert es vielleicht eine Zeit lang - aber Apple hat die Methode StartupItems [deprecated] (https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/StartupItems.html) dafür von launchd. Ich würde nichts mit StartupItems bereitstellen, aber für den persönlichen Gebrauch kann es ausreichen. Scot vor 6 Jahren 0
Ja! Ich habe irgendwo im Internet von Launchd gelesen. Ich schaue mich um, um zu sehen, was alles ist und versuche, dieses Skript beim Start auszuführen. Wenn ich nicht machen kann, weiß ich sicher, wo ich Antworten finden kann. Danke vielmals! Du hast mir wirklich geholfen. edit: Ja, es ist so ziemlich für den persönlichen Gebrauch. Ich werde tun, wie Sie sagen, um zu sehen, wie es funktioniert. Eat-man vor 6 Jahren 0