Konsolen Logs mit Selenium

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Freumel
User
Beiträge: 69
Registriert: Donnerstag 25. Januar 2018, 13:47

Hallöchen zusammen,

ich arbeite mit Python Selenium & dem Chrome Browser.
Nun möchte ich Konsolenlogs abfangen, bzw. überhaupt erstmal printen.

Hier stehe ich etwas auf dem Schlauch. Habe ein wenig gegooglelt, kriege aber eine leere Ausgabe.
Wir arbeiten für ein Projekt mit dem Fiddler, wollen jetzt aber alles automatisieren und vergrößern, daher versuchen wir aktuell eine Headless Browser Variante aufzubauen. Ich habe mir eine kleine Testumgebung gebaut, starte den Browser mit Python Selenium, habe das Skript im Hintergrund laufen, steuere den aber vorerst manuell, später wird das automatisiert, daher Quick & Dirty zum testen eben was dahin geschmiert :)

Code: Alles auswählen

def get_driver( mode = "headless"):
	chrome_options = Options()
	chrome_options.add_argument("--headless")
	chrome_options.add_argument("--window-size=1920x1080")
	chrome_driver = os.path.join(
			BASE_DIR,
			'assets', 
			'chromedriver.exe'
		)
	if mode == "headless":
		return webdriver.Chrome(options=chrome_options, executable_path=chrome_driver)
	else:
		return webdriver.Chrome(chrome_driver)

def get_logs(driver):
	while 2>1:
		try:
			logs = driver.get_log('browser')
			print('>> LOG FOR {}: \n'.format(driver.current_url))
			print(logs)
			for log in logs:
				print(log)
			sleep(5)

		except Exception as e:
			print(e)
			sleep(5)
Ich kriege keine Exceptions geworfen. Die Ausgabe ist allerdings immer leer. Eigentlich auch logisch - schließlich würde ich die ganze Log Historie kriegen. Habe auch den Sleep mal weggemacht in der Hoffnung log und Skript gehen im gleichen Moment raus. Auch fehlgeschlagen.

Weiß jemand, wie ich die Konsolenlogs mittels Python Selenium in Echtzeit abfangen kann?

EDIT: Die Logs gehen mittels AJAX Serverpolls sekündlich raus.
Antworten