ubuntuusers.de

Python Webseiten schließen

Status: Gelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

Ishidres

Avatar von Ishidres

Anmeldungsdatum:
30. März 2015

Beiträge: 68

Hallo Leute, man kann ja in Python mit folgendem Code eine Webseite öffnen:

1
2
3
import webbrowser

webbrowser.open("www.google.de")

Geht es auch, dass sich diese Webseite jetzt auf automatisch über Python wieder schließt? Wie zum Beispiel so:

1
2
3
4
5
6
import webbrowser
import time

webbrowser.open("http://www.google.de")

time.sleep(3)

Und dann nur halt noch folgende Zeile anfügen:

webbrowser.close("www.google.de") # Achtung!!!

Ich würde mich über Antworten freuen!

VG Ishidres

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13166

Ich bin kein Python-Programmierer. Ich sehe da aber nichts in der Dokumentation. Außerdem liefert open() nichts zurück, das man als Handle benutzen könnte. Irgendeinen Weg gibt es bestimmt, aber der beinhaltet womöglich, das Fenster finden zu müssen und dann den Browser "zu Fuß" zu steuern.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

geht AFAIK ootb nicht.

Letztendlich ist webbrowser.open() ja auch nichts anderes als ein Wrapper um einen externen Programmaufruf.

Ein theoretischer Weg wäre, die PID des Browsersprozesses herauszufinden, und diesen dann Mittels kill zu beenden.

webbrowser.open() hat ja noch eine gewisse Daseinsberechtigung, aber das "magische" Schließen von Programmfenster ohne Nutzerinteraktion halte ich grundsätzlich für fragwürdig.

Was ist denn der Hintergrund der Frage? Vielleicht gibt's ja noch eine alternative Lösung.

Gruß, noisefloor

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

gerade mal probiert - folgendes funktioniert:

1
2
3
4
5
6
import subprocess
from time import sleep

proc = subprocess.Popen(['firefox', 'www.google.de'])
sleep(5)
proc.terminate()

Einschränkung: Der Firefox muss damit tatsächlich geöffnet werden. Wenn der Browser schon läuft, wird "nur" ein neues Tab geöffnet und das schließt sich bei proc.terminate() nicht.

Gruß, noisefloor

Ishidres

(Themenstarter)
Avatar von Ishidres

Anmeldungsdatum:
30. März 2015

Beiträge: 68

Jaaaa, vielen Dank, es klappt! Zwar darf der Browser nicht geöffnet sein und es darf kein Tab offen sein, aber es klappt! Vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, vielen, VIELEN Dank! 😀 Sorry wegen Spam!

VG Ishidres

Civjik

Anmeldungsdatum:
19. Juli 2021

Beiträge: Zähle...

Geht das nur mit Firefox? oder auch mit Microsoft Edge?

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

wie willst du denn den Edge Browser unter Ubuntu / Linux installieren? Soweit ich das sehe bietet zumindest MS den Browser nicht für Linux an.

Gruß, noisefloor

Antworten |