Seite 1 von 1

Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 14:02
von Rolfi56
Hallo,

Anfängerfrage Python 3.5.2

wie kann man mehrere Internet-Seiten nebeneinander auf dem Bildschirm anordnen, die mit webbrowser.open() geöffnet werden?
Bisher öffnet jeder open() Befehl ein maximales Fenster über den ganzen Bildschirm.
Wie bekommt man eine Referenz zu den Fenstern und dann so etwas wie .position() und .size().

Danke für jeden Hinweis!

Re: Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 14:28
von __deets__
Hat du mal in die Dokumentation geschaut?

https://docs.python.org/2/library/webbr ... owser.open

Re: Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 19:26
von Rolfi56
Ja, und weil ich dort und in meinen 3 Python-Büchern nichts gefunden habe, frage ich hier.

Re: Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 19:36
von noisefloor
Hallo,

ich würde sagen: ootb gar nicht. Das webbrowser-Modul ruft ja "nur" den Default-Browser mit einer URL auf. Mehr nicht, damit ist keine Fernsteuerung oder so was möglich.

Was hast du denn vor und welches Betriebssystem benutzt du?

Gruß,

Re: Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 19:42
von __blackjack__
@Rolfi56: Die Python-Dokumentation ist ziemlich gut. Und wenn da für eine Funktion steht was die macht, und bei vielen Argumenten nach dem Effekt auch noch eine „if possible“-Einschränkung steht, also das was sie macht nicht immer und überall funktioniert, sondern das alles nur Versuche sind, dann solltest Du nicht auch noch erwarten, dass das Modul noch mehr kann als das bisschen was da wirklich dokumentiert ist.

Das was Du willst geht mit dem Modul nicht.

Re: Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 20:20
von Rolfi56
Danke für die Antworten!

@noisefloor Mein OS ist Ubuntu 16.04 LTS 64 bit.

Meine Python-Anfänger-Frage:
Wenn das Modul webbrowser so etwas nicht leistet, muß man dann umständlich durch Simulation von Mausbewegungen die Fenster manipulieren oder gibt es da eine einfachere Möglichkeit?

Re: Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 20:30
von ThomasL

Re: Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 20:44
von Rolfi56
@ThomasL, danke für den Hinweis auf Ubuntu-Fenstermanager, aber ich möchte mit einem Python-Programm (!) drei Webseiten aufrufen und diese nebeneinander auf dem Bildschirm sehen.

Re: Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 20:58
von __blackjack__
@Rolfi56: Dazu musst Du die in Webbrowser-Fenster starten und dem Fenstermanager sagen, das die nebeneinander dargestellt werden sollen. Wobei die Wiki-Seite vielleicht schon ein grundlegendes Problem erahnen lässt: Es gibt nicht *den* Fenstermanager und vieles was einem Fenstermanager sagen kann, darf der als netten Hinweis ansehen, den er befolgen kann, oder eben auch nicht. So ganz allgemein gesprochen kann das also sogar unmöglich sein was Du haben möchtest. So wirklich Kontrolle hat man immer nur innerhalb eines Fensters, weil da tatsächlich der eigene Code bestimmen kann was dort wie angezeigt wird.

Re: Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 21:17
von snafu
Welcher Browser wird denn genutzt? Chrome kennt z.B. die Kommandozeilen-Argumente --window-position und --window-size. Da kann man entsprechende Werte angeben, siehe https://www.ghacks.net/2013/10/06/list- ... -switches/

Sofern du dort nur durch Ausprobieren fixe Werte eintragen willst, dann bedenke dass die dann auch nur für genau diese Bildschirmgröße und Auflösung funktionieren. An einem anderen Rechner kann das schon wieder ganz anders aussehen. Wir kennen ja den näheren Hintergrund nicht...

Re: Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 21:27
von Rolfi56
@__blackjack__, danke für Deinen Hinweis. Als Python-Anfänger fühle ich mich überfordert.

"Dazu musst Du die in Webbrowser-Fenster starten und dem Fenstermanager sagen, das die nebeneinander dargestellt werden sollen."
Genau. Und wie macht man das in Python?

Irgendwie finde ich nur Anleitungen, wie man ein neues Fenster erstellt und dann manipuliert, aber nicht, wie man den Bezug zu genau dem Fenster herstellt, das webbrowser gerade geöffnet hat.

@snafu
Firefox 63.0.3

Hinweis: Ich arbeite mich gerade ein in
https://automatetheboringstuff.com/chapter11/

Re: Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 21:29
von noisefloor
Hallo,

Plan B: GUI mit Qt Schreiben und drei QtWebEngine Widgets nebeneinander platzieren. Dann hast du die volle Kontrolle.

Und nochmal, obwohl es schon gesagt wurde: das was du vorhast, ist _einfach_ mit Python (und anderen Programmiersprachen) _nicht_ machbar. Du kannst mit Python nicht auto-magisch den Desktop deines Betriebssystems manipulieren und automatisieren.

Gruß, noisefloor

Re: Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 21:36
von Rolfi56
@noisefloor

Danke!

Erstaunlich, aber herzlichen Dank für diese klare Aussage, die mir viel Mühe und Zeit erspart!

Re: Fenstergröße webbrowser

Verfasst: Sonntag 9. Dezember 2018, 23:49
von Rolfi56
Daß man sich mehrere Internetseiten nebeneinander (!) auf dem Bildschirm anschaut, hätte ich für eine häufig vorkommende Anwendung gehalten.

Re: Fenstergröße webbrowser

Verfasst: Montag 10. Dezember 2018, 00:02
von __deets__
Mag sein. Finde ich ehrlich gesagt überhaupt nicht, es gibt eine guten Grund, warum Browser tabs haben. Und wenn es das wäre, wie sähe das denn aus? Welches Verhältnis ein breite und Höhe, wo platziert, was passiert wenn man ein Fenster bewegt? Das ist alles längst nicht so trivial wie du dir das denkst.

Aber unabhängig von unseren Meinungen dazu: es gibt keine standardisierten Schnittstellen für die Ausrichtung von Fenstern. Im allgemeinen, und im besonderen nicht bei Browsern. Wer sowas will, der muss es sich eben programmieren. Entweder IM Browser, zb durch JavaScript und iframes. Oder wie von noisefloor schon angesprochen hat per WebView in Qt. Oder man benutzt die APIs der entsprechenden windowmanager. Das ist aber alles keine leichte Kost. Niemand hat gesagt es geht nicht. Ist halt nur schwer und nicht schön bequem eingebaut. Wenn du das willst, dann schlau dich auf und guck in die win32 API. https://stackoverflow.com/questions/692 ... indows-api

Re: Fenstergröße webbrowser

Verfasst: Montag 10. Dezember 2018, 00:53
von __blackjack__
@__deets__: Die Win32-API wird unter Linux nicht so viel nützen. Rolfi56 hat weiter oben Ubuntu als Betriebssystem angegeben.

@Rolfi56: Also ich habe schon öfter mal den Anwendungsfall gehabt zwei Dokumente nebeneinander/parallel lesen/durchgehen zu müssen. Dafür habe ich mich dann aber einfach bei den Möglichkeiten meiner Fensterverwaltung und den Tastaturkürzeln dafür bedient. Bei KDE kann man beispielsweise mit <Meta>+<Cursor links> beziehungsweise <Meta>+<Cursor rechts> das aktuelle Fenster nicht auf den gesamten Bildschirm, sondern auf die gesamte linke oder rechte Hälfte ”maximieren”. Womit man sehr schnell beliebige zwei Fenster auf dem Bildschirm nebeneinander hinbekommt. Ähnliches geht bei anderen Fensterverwaltungen sicher auch irgendwie. Aber das ist halt überall etwas unterschiedlich und deshalb schlecht von einem Programm aus für beliebige Zielsysteme steuerbar.

Re: Fenstergröße webbrowser

Verfasst: Samstag 29. Dezember 2018, 15:51
von Rolfi56
__deets__ hat geschrieben: Montag 10. Dezember 2018, 00:02 Das ist alles längst nicht so trivial wie du dir das denkst.
__deets__: Damit hast Du wohl Recht. Als Anfänger habe ich offenbar falsche Vorstellungen. Danke für den Hinweis!