Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Bereits geöffnetes Browserfenster auslesen

Frage Entwicklung VB for Applications

Mitglied: karlchristian

karlchristian (Level 1) - Jetzt verbinden

21.08.2014, aktualisiert 12:53 Uhr, 2457 Aufrufe, 10 Kommentare, 2 Danke

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?

01.
... 
02.
URL = "https://testurl/jctsc/smp/printDetail.do" 
03.
webtext = "<html></html>" 
04.
 
05.
    Set objIE = CreateObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}") 
06.
    'Set objIE = CreateObject("InternetExplorer.Application") 
07.
    objIE.Navigate URL 
08.
    objIE.Visible = True 
09.
    While Not objIE.ReadyState = 4 
10.
        DoEvents 
11.
    Wend 
12.
    'txtContent.SetFocus 
13.
    txtContent = objIE.Document.body.innerText 
14.
     
15.
    webtext = objIE.Document.body.outerHTML 
16.
    objIE.Quit
...
Mitglied: emeriks
21.08.2014 um 12:53 Uhr
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.
Bitte warten ..
Mitglied: karlchristian
21.08.2014, aktualisiert um 13:10 Uhr
Letztere ja,

aber im detail
Mein Problem ist, dass wenn ich mit og.g. Code die Website einlesen möchte nur der Hinweis vorgeblendet wird Zugriff verweigert
Kopiere ich o,g. Url in den Browser bekomme ich auch die Zugriffsmeldung.

Klicke ich aber auf der Website einen JAVA Button an öffnet er mir die o.g. URL mit Inhalt.
Da ich das Java ablett nicht ansprechen kann hatte ich mir gedacht die o.g. Website manuell zu öffnen und dieses neu geöffnet Browserfenster auslesen.
Bitte warten ..
Mitglied: colinardo
21.08.2014, aktualisiert um 13:22 Uhr
Moin,
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
Bitte warten ..
Mitglied: karlchristian
21.08.2014, aktualisiert um 14:01 Uhr
Hallo Uwe,

leider nicht möglich, da dieses im Intranet läuft.

Also besteht auch über den einfachen Weg nicht die Möglichkeit ein bereits geöffnets Browserfenster lokal zu speichern, dann würde das Script ja greifen, weil er nicht mehr über JAVA die Website öffnet sondern lokal einliest.

Mit u.g. code kann ich zwar feststellen welche URLs im Moment geöffnet sind
und hier würde ich ggf ansetzten wollten und einfach sagen, falls URL x gefunden wird,
speicher diese geöffnete Browserlement lokal als HTML ab

nur wüsste ich nie wie.
01.
 
02.
Sub Befehl0_Click() 
03.
Dim oWindowList 
04.
Set oWindowList = CreateObject("Shell.Application").Windows 
05.
If oWindowList.Count > 0 Then 
06.
  Dim oWindow 
07.
  For Each oWindow In oWindowList 
08.
    If UCase(right(oWindow.FullName, 12)) = "IEXPLORE.EXE" Then 
09.
      Debug.Print oWindow.LocationURL 
10.
      If oWindow.LocationURL = "https://test/jctsc/smp/printDetail.do" Then 
11.
       
12.
     ->>>  Und hier würde ich dann gerne die Seite des geöffneten Browser "https://test/jctsc/smp/printDetail.do" lokal speichern 
13.
 
14.
      Else 
15.
            
16.
          End If 
17.
   
18.
End If 
19.
Next 
20.
End If 
21.
End Sub
Bitte warten ..
Mitglied: emeriks
21.08.2014 um 14:19 Uhr
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.
Bitte warten ..
Mitglied: karlchristian
21.08.2014 um 14:22 Uhr
Das würde ich gerne nur ist die website eine JAVA wo ich die Button nicht getittelt bekomme..
und somit nicht weis wie ich diese ansprechen kann.
Bitte warten ..
Mitglied: Lingo73
24.08.2014, aktualisiert um 23:16 Uhr
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.
Bitte warten ..
Mitglied: karlchristian
25.08.2014, aktualisiert um 08:09 Uhr
Hallo Lingo73

beim Ausführen erhalte ich den Hinweis:

Laufzeitfehler '-2147221248 (80040100)':
Die Methode 'ExecWB' für das Objekt 'IWebBrowser2' ist fehlgeschlagen

wenn ich versuche den Dateinamen mit informationen aus dem Webbrowser zu befüllen

01.
... 
02.
        pos(1) = InStr(webtext, "<DIV style=") 
03.
        webtext = right(webtext, (Len(webtext) - pos(1) + 1)) 
04.
        webtext = Chr(13) & Chr(10) & webtext & "</html>" 
05.
         
06.
        strA(0) = txtContent 
07.
 
08.
        pos(1) = InStr(txtContent, "Ticket:") 
09.
        Inhalt(1) = Mid(strA(0), pos(1) + 7, 10) 
10.
         
11.
        'Title 
12.
        pos(1) = InStr(txtContent, "Title:") 
13.
        pos(2) = InStr(txtContent, "Status:") 
14.
        Inhalt(2) = Mid(strA(0), pos(1) + 6, pos(2) - pos(1) - 6) 
15.
        Inhalt(2) = Replace(Inhalt(2), "'", "") 
16.
         
17.
        saveas = Inhalt(1) & " " & Inhalt(2) 
18.
         
19.
        oWindow.ExecWB 4&, 2&, saveas, 0 
20.
 
21.
... 
22.
 
schreibe ich stattdessen
01.
oWindow.ExecWB 4&, 2&, saveas, 0
Will er mir diesem unter dem Namen saveas speichern.

Wie bekomme ich es hin

1. Den Dateinamen zu übergeben
2. Eine festen Pfad vorzugeben
3. automatisch ohne eigene manuelle Aktion speichern
Bitte warten ..
Mitglied: Lingo73
25.08.2014 um 13:27 Uhr
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
Bitte warten ..
Mitglied: karlchristian
25.08.2014 um 14:26 Uhr
Hallo,

vielen dank für die Information.
Das war genau gewesen.

Gruß
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Windows 7
gelöst Bereits eingebundener Drucker - IP Adresse lokal auslesen (17)

Frage von harald.schmidt zum Thema Windows 7 ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

Batch & Shell
gelöst Appx aus Image auslesen und entfernen (9)

Frage von Markus2016 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...