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)
Weiß jemand, wie ich die Konsolenlogs mittels Python Selenium in Echtzeit abfangen kann?
EDIT: Die Logs gehen mittels AJAX Serverpolls sekündlich raus.