Bereits geöffnetes Browserfenster auslesen
Hallo,
ich Moment lasse ich per VBA eine Website öffnen (Beispiel "https://testurl/jctsc/smp/printDetail.do" um diese einzulesen.
Leider hat der Entwickler der Page hier eine Sicherheit eingebaut, so das ich diese nicht als neues Objekt mehr öffnen kann
(Zugriffe verweigert)
gehe ich aber auf der Webbsite auf einen Button offnet er mir normal die Website. "https://testurl/jctsc/smp/printDetail.do"
einliest. (Sprich wie kann ich ihm das bereit geöffnete Browserfenster übergeben?
Mein bisheriger Code sieht wie folgt aus?
Sollte dieses nicht möglich sein, kann ich die geöffnete Website per VBA vorab als HTML lokal zwischenspeichern?
...
ich Moment lasse ich per VBA eine Website öffnen (Beispiel "https://testurl/jctsc/smp/printDetail.do" um diese einzulesen.
Leider hat der Entwickler der Page hier eine Sicherheit eingebaut, so das ich diese nicht als neues Objekt mehr öffnen kann
(Zugriffe verweigert)
gehe ich aber auf der Webbsite auf einen Button offnet er mir normal die Website. "https://testurl/jctsc/smp/printDetail.do"
einliest. (Sprich wie kann ich ihm das bereit geöffnete Browserfenster übergeben?
Mein bisheriger Code sieht wie folgt aus?
Sollte dieses nicht möglich sein, kann ich die geöffnete Website per VBA vorab als HTML lokal zwischenspeichern?
...
URL = "https://testurl/jctsc/smp/printDetail.do"
webtext = "<html></html>"
Set objIE = CreateObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")
'Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate URL
objIE.Visible = True
While Not objIE.ReadyState = 4
DoEvents
Wend
'txtContent.SetFocus
txtContent = objIE.Document.body.innerText
webtext = objIE.Document.body.outerHTML
objIE.Quit
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 247046
Url: https://administrator.de/contentid/247046
Ausgedruckt am: 23.11.2024 um 03:11 Uhr
10 Kommentare
Neuester Kommentar
Hi,
was ist das Problem? Dass Du die Site nicht per VBS starten kannst oder das Du sie nicht ein zweites Mal starten kannst, wenn sie schon in einer anderen Browser-Sitzung läuft? Falls letzteres, dann willst Du wissen, wie Du auf den bereits geöffneten Browser zugreifen kannst um diese auszulesen? Habe ich das richtig verstanden?
E.
was ist das Problem? Dass Du die Site nicht per VBS starten kannst oder das Du sie nicht ein zweites Mal starten kannst, wenn sie schon in einer anderen Browser-Sitzung läuft? Falls letzteres, dann willst Du wissen, wie Du auf den bereits geöffneten Browser zugreifen kannst um diese auszulesen? Habe ich das richtig verstanden?
E.
Moin,
Kannst du uns eine funktionierende URL zur Verfügung stellen? denn ohne wird das hier nämlich sonst ziemlich schwierig !!
Ich würde hier das Java-Applet durch einen Decompiler jagen und nachsehen was es so im Hintergrund macht
Grüße Uwe
Kannst du uns eine funktionierende URL zur Verfügung stellen? denn ohne wird das hier nämlich sonst ziemlich schwierig !!
Klicke ich aber auf der Website einen JAVA Button an öffnet er mir die o.g. URL mit Inhalt.
dann wird das Java-Applet vermutlich irgendeine Authentifizierung der Verbindung vornehmen, ohne Code etc. wird das hier schwer ...Ich würde hier das Java-Applet durch einen Decompiler jagen und nachsehen was es so im Hintergrund macht
Grüße Uwe
Und wenn Du einfach aus dem Script heraus den Button klickst? So etwa wie hier: http://stackoverflow.com/questions/14817436/clicking-buttons-in-ie-with ...
E.
E.
Zitat karlchristian um 13:32 Uhr :
->>> Und hier würde ich dann gerne die Seite des geöffneten Browser "https://test/jctsc/smp/printDetail.do" lokal speichern
zum Speichern der Seite nimmst du ...
oWindow.ExecWB 4&, 2&, "C:\test_htm", 0
Der Parameter 4& steht für die auszuführende Aktion, also hier : "Save as".
-Würdest du statt
oWindow.ExecWB 4&, 2&, "C:\test_htm", 0
den Befehl
oWindow.ExecWB 6&, 2& nehmen, so würde die Seite gedruckt werden.
->>> Und hier würde ich dann gerne die Seite des geöffneten Browser "https://test/jctsc/smp/printDetail.do" lokal speichern
zum Speichern der Seite nimmst du ...
oWindow.ExecWB 4&, 2&, "C:\test_htm", 0
Der Parameter 4& steht für die auszuführende Aktion, also hier : "Save as".
-Würdest du statt
oWindow.ExecWB 4&, 2&, "C:\test_htm", 0
den Befehl
oWindow.ExecWB 6&, 2& nehmen, so würde die Seite gedruckt werden.
Die Methode ExecWB steht dem User manchmal nur mit einem
kleineren (reduzierten) Befehlssatz zur Verfügung, und dann
bekommt man einen Laufzeitfehler.
Anstatt oWindow.ExecWB könntest du
den Webseiten innerHtml auch direkt speichern :
txtContent = objIE.Document.body.innerText
webtext = objIE.Document.body.outerHTML
' beziehungsweise :
txtContent = oWindow.Document.body.innerText
webtext = oWindow.Document.body.outerHTML
'File speichern
'===========================
hF = FreeFile
myPath = "c:\meineseite.htm"
Open myPath For Output As #hF
Print #hF, webtext
Close #hF
kleineren (reduzierten) Befehlssatz zur Verfügung, und dann
bekommt man einen Laufzeitfehler.
Anstatt oWindow.ExecWB könntest du
den Webseiten innerHtml auch direkt speichern :
txtContent = objIE.Document.body.innerText
webtext = objIE.Document.body.outerHTML
' beziehungsweise :
txtContent = oWindow.Document.body.innerText
webtext = oWindow.Document.body.outerHTML
'File speichern
'===========================
hF = FreeFile
myPath = "c:\meineseite.htm"
Open myPath For Output As #hF
Print #hF, webtext
Close #hF