torsten1811
Goto Top

Webseite mit Powershell steuern

Hallo,

ich habe eine Webseite, auf der ich bestimmte Handlungen manuell machen muss. Hier mal ein Beispiel:
- Seite öffnen
- Über ein Menü einen Eintrag wählen
- Nach refresh einen Button anklicken (Download einer xlsx)
- 'Speichern' auswählen

Diese Handlungen möchte ich jetzt über ein Powershell-Script automatisiert ausführen. Die Seite aufrufen ist ja kein Problem. Aber wie sieht es jetzt mit den anderen Handlungen aus? Geht das überhaupt?

Viele Grüße
Torsten

Content-Key: 585004

Url: https://administrator.de/contentid/585004

Printed on: April 24, 2024 at 10:04 o'clock

Mitglied: 144705
144705 Jul 04, 2020 updated at 19:40:04 (UTC)
Goto Top
Gab's erst hier
Webseite auto login
Meist kann man sich das Fernsteuern aber sparen wenn man sich mal mit F12 in der Netzwerkanalyse die übermittelten Daten anschaut, dann reicht es meist nur die entsprechenden GET oder POST Parameter an die jeweilige URL zu senden um den passenden Download zu triggern.
Member: ASP.NET.Core
ASP.NET.Core Jul 06, 2020 at 08:13:43 (UTC)
Goto Top
Wenns um Performance geht die Anfragen selbst schicken. Falls nicht bzw du JS brauchst, gibts entsprechende Frameworks.
Infos z.B. hier: https://u-labs.de/forum/windows-62/multi-browser-software-mit-automatisc ...
Member: torsten1811
torsten1811 Jul 06, 2020 at 09:45:34 (UTC)
Goto Top
Bin nun soweit, dass ich die richtige Seite aufrufe. Allerdings machte er mit eine neue Browserinstanz auf. Soweit so gut. Jetzt möchte ich in der neuen Instanz eine neue Adresse angeben. Aber wie erhalte ich jetzt die instanz auf genau diesen Browser? Denn der erste ist ja auch noch geöffnet.
Mitglied: 144705
144705 Jul 06, 2020 updated at 09:54:37 (UTC)
Goto Top
Steht doch in der Kommentaren der Codes.
Member: torsten1811
torsten1811 Jul 06, 2020 at 11:22:04 (UTC)
Goto Top
Da finde ich zwar die Möglichkeit bestimmte Objekte (Eingabefelder, Button) anzusprechen. Aber ich habe ja den Focus auf die gesamte Seite verloren!

Oder was gebau meinst du???
Mitglied: 144705
144705 Jul 06, 2020 updated at 11:39:00 (UTC)
Goto Top
Zitat von @torsten1811:

Da finde ich zwar die Möglichkeit bestimmte Objekte (Eingabefelder, Button) anzusprechen. Aber ich habe ja den Focus auf die gesamte Seite verloren!
Nö, wieso?? Das Firefox Objekt ist immer definiert an das Fenster/Session gebunden, dazu braucht man keinen Fokus.

Ich meine das Skript in diesem Kommentar
Webseite auto login

Oder was gebau meinst du???
Das fragen sich hier auch alle was du genommen hast. Was ich meine habe ich oben verlinkt.
Member: torsten1811
torsten1811 Jul 07, 2020 at 08:31:03 (UTC)
Goto Top
Hallo, habe mich da jetzt mal ein wenig eingearbeitet. Sorry, dass das erst jetzt passiert ist face-wink
Ich habe das Skript aus dem Link mal nachgestellt. Das Skript erzeugt mir eine "Selenium-Firefox"-Instanz, die ich nun mit einigen Funktionen steuern kann. Das funktioniert soweit auch recht gut.
Ich öffne damit eine Seite in unserem Firmennetzwerk. Allerdings ist dazu ein BN/PW notwendig. Nach dem Öffnen der Seite öffnet sich ein Popup zur Angabe von BN/PW. Nur, wie kann ich das jetzt steuern? Am besten wäre es, wenn man diese Infos bereits im Script hinterlegen kann. Habe dazu leider noch keine Lösung gefunden.

Gruß
Torsten
Mitglied: 144705
144705 Jul 07, 2020 updated at 08:33:21 (UTC)
Goto Top
Zitat von @torsten1811:

Hallo, habe mich da jetzt mal ein wenig eingearbeitet. Sorry, dass das erst jetzt passiert ist face-wink
Ich habe das Skript aus dem Link mal nachgestellt. Das Skript erzeugt mir eine "Selenium-Firefox"-Instanz, die ich nun mit einigen Funktionen steuern kann. Das funktioniert soweit auch recht gut.
Ich öffne damit eine Seite in unserem Firmennetzwerk. Allerdings ist dazu ein BN/PW notwendig. Nach dem Öffnen der Seite öffnet sich ein Popup zur Angabe von BN/PW. Nur, wie kann ich das jetzt steuern? Am besten wäre es, wenn man diese Infos bereits im Script hinterlegen kann. Habe dazu leider noch keine Lösung gefunden.


Das ist Basic Auth da reicht es die Login-Daten mit in die URL zu packen
http://USERNAME:PASSWORD@domain.tld
Und schon bisse drin.