3

Ich arbeite an einem Python-Skript für Web-Scrape und habe den Pfad zur Verwendung von Chromedriver als eines der Pakete heruntergefahren. Ich möchte, dass dies im Hintergrund ohne Popup-Fenster funktioniert. Ich benutze die Option "Headless" auf dem Chromedriver und es scheint die Aufgabe zu erfüllen, das Browserfenster nicht anzuzeigen, aber ich sehe immer noch, dass die .exe Datei läuft. Sehen Sie den Screenshot von dem, worüber ich rede. ScreenshotWie bekomme ich den Chromedriver im kopflosen Modus kopflos?

Dies ist der Code, den ich ChromeDriver einzuleiten bin mit:

options = webdriver.ChromeOptions() 
options.add_experimental_option("excludeSwitches",["ignore-certificate-errors"]) 
options.add_argument('headless') 
options.add_argument('window-size=0x0') 
chrome_driver_path = "C:\Python27\Scripts\chromedriver.exe" 

Dinge, die ich versucht habe, ist zu tun, um die Fenstergröße in den Optionen 0x0 ändern, aber ich bin nicht sicher, dass irgendetwas tat, wie Die .exe-Datei tauchte immer noch auf.

Irgendwelche Ideen, wie ich das tun kann?

Ich verwende Python 2.7 FYI

Antwort

1

Also nach meinem Code zu korrigieren:

options = webdriver.ChromeOptions() 
options.add_experimental_option("excludeSwitches",["ignore-certificate-errors"]) 
options.add_argument('--disable-gpu') 
options.add_argument('--headless') 
chrome_driver_path = "C:\Python27\Scripts\chromedriver.exe" 

Die EXE-Datei kam noch auf, wenn das Skript ausgeführt wird. Obwohl dies einige zusätzliche Ausgaben losließ, die mir sagten, "GPU-Prozess konnte nicht gestartet werden".

Was Arbeits gelandet ist mein Python-Skript ausgeführt wird grundsätzlich mit einer .bat Datei

So

  1. speichern Python-Skript, wenn ein Ordner
  2. öffnen Texteditor und Dump den folgenden Code (Bearbeitung auf Ihrem Skript natürlich)

    c: \ python27 \ python.exe c: \ sample \ ThisIsMyScript.py% *

  3. Speichern Sie die .txt-Datei und die Erweiterung ändern

  4. doppelt auf .bat klicken diese die Datei

Also das nur geöffnet, um das Skript in die Eingabeaufforderung und ChromeDriver scheint laufen innerhalb dieses Fensters zu funktionieren, ohne Ich steige vor meinen Bildschirm und löse das Problem.

2
  1. Die .exe sowieso laufen würde. Laut Google - "Run in Headless-Modus, d. H. Ohne eine UI oder Display-Server Abhängigkeiten."

  2. Bessere prepend 2 Striche Zeilenargumente zu befehlen, das heißt options.add_argument('--headless')

  3. In Headless Modus, es wird auch vorgeschlagen, die GPU zu deaktivieren, dh options.add_argument('--disable-gpu')

7

Es sollte wie folgt aussehen:

Das funktioniert für mich mit Python 3.6, ich bin mir sicher, dass es auch für 2.7 funktionieren wird.

+0

Danke! Dies hat das Problem leider nicht gelöst.Ich habe meine Antwort auf was auch immer gepostet. Schätze deine Hilfe – Maz

Verwandte Themen