FrazeColder
Lt. Commander
- Registriert
- Okt. 2013
- Beiträge
- 1.721
Hallo zusammen,
ich habe mir ein Python Skript geschrieben, welches auf einer Webseite einige Sachen ausfüllen und herunterladen soll. Dieses Skript würde ich gerne im Hintergrund, also im Headless Modus einmal die Stunde laufen lassen. Das Skript funktioniert auch im Headless Modus so wie es soll. Ich habe allerdings ein Problem: Und zwar bleibt der User im Headless Modus nicht auf der Webseite eingeloggt. Im normalen Modus (also nicht Headless) bleibt das Skript über das verwendete Google Chrome Profile eingeloggt.
Woher weiß ich, dass der "Bot" im Headless Modus nicht eingeloggt bleibt: Der Bot kann identifizieren, ob er eingeloggt ist oder nicht. Im Headless Modus ist das leider nie (!!!) der Fall, im normalen Modus hingegen loggt sich der Bot einmal ein und ist dann immer eingeloggt (über die Session Cookies, die eben im Chrome Profile gespeichert werden).
Das hier sind die Option Arguments die ich in meinem Skript an Selenium übergebe:
Ich habe auch schon ein wenig recharchiert und diesesn Post auf Stackoverflow gefunden. Leider funktioniert diese Lösung aber nicht bei mir..
Könnt ihr mir sagen, wie ich Selenium im Headless Modus mit einem Google Chrome Profile verwende bzw. wo mein Fehler liegt?
Wie gesagt, sobald ich die Zeile zwei auskommentiere, funktioniert alles wie gewollt.
Viele Grüße und Dankeschön!
ich habe mir ein Python Skript geschrieben, welches auf einer Webseite einige Sachen ausfüllen und herunterladen soll. Dieses Skript würde ich gerne im Hintergrund, also im Headless Modus einmal die Stunde laufen lassen. Das Skript funktioniert auch im Headless Modus so wie es soll. Ich habe allerdings ein Problem: Und zwar bleibt der User im Headless Modus nicht auf der Webseite eingeloggt. Im normalen Modus (also nicht Headless) bleibt das Skript über das verwendete Google Chrome Profile eingeloggt.
Woher weiß ich, dass der "Bot" im Headless Modus nicht eingeloggt bleibt: Der Bot kann identifizieren, ob er eingeloggt ist oder nicht. Im Headless Modus ist das leider nie (!!!) der Fall, im normalen Modus hingegen loggt sich der Bot einmal ein und ist dann immer eingeloggt (über die Session Cookies, die eben im Chrome Profile gespeichert werden).
Das hier sind die Option Arguments die ich in meinem Skript an Selenium übergebe:
Python:
# Browser
options = webdriver.ChromeOptions()
options.add_argument("--headless")
options.add_argument("--window-size=1920,1080")
options.add_argument("user-data-dir=/Users/helloworld/Library/Application Support/Google/Chrome/User Data/Profile 1")
s = Service("/Users/helloworld/Desktop/Programmieren/chromedriver")
browser = webdriver.Chrome(service=s, options=options)
Ich habe auch schon ein wenig recharchiert und diesesn Post auf Stackoverflow gefunden. Leider funktioniert diese Lösung aber nicht bei mir..
Könnt ihr mir sagen, wie ich Selenium im Headless Modus mit einem Google Chrome Profile verwende bzw. wo mein Fehler liegt?
Wie gesagt, sobald ich die Zeile zwei auskommentiere, funktioniert alles wie gewollt.
Viele Grüße und Dankeschön!