Page 1 of 1

IE Zuweisen einer Variablen zu einem WebBrowser object

Posted: 09 Jan 2019, 05:06
by Milchmann
Hallo,

aktuell habe ich mich hier eine Blockade :

Ich möchte eine Variable einem IE WebBrowser object zuordnen, welche ich die erst während des Scriptlaufes ermitteln kann. Mit dieser will ich dann weiter arbeiten.

Code: Select all

w:: ; IE aktivieren und dann w drücken
 
WinGet, hWnd, ID, A
pwb := WBGet("ahk_id " hWnd)
InputBox, name, Variable,,,,,,,,,pwb.document.all.tags("td")
msgbox % IsObject(name) " klappt nicht "


test := pwb.document.all.tags("td")
MsgBox %  IsObject(Test) " klappt "

exit


 
 WBGet(WinTitle="ahk_class IEFrame", Svr#=1) {               ;// based on ComObjQuery docs
   static msg := DllCall("RegisterWindowMessage", "str", "WM_HTML_GETOBJECT")
        , IID := "{0002DF05-0000-0000-C000-000000000046}"   ;// IID_IWebBrowserApp
;//     , IID := "{332C4427-26CB-11D0-B483-00C04FD90119}"   ;// IID_IHTMLWindow2
   SendMessage msg, 0, 0, Internet Explorer_Server%Svr#%, %WinTitle%
   ;~ MsgBox % errorlevel  " SVR#: " Svr#  " und Wintitle: " WinTitle
   if (ErrorLevel != "FAIL") {
      lResult:=ErrorLevel, VarSetCapacity(GUID,16,0)
      if DllCall("ole32\CLSIDFromString", "wstr","{332C4425-26CB-11D0-B483-00C04FD90119}", "ptr",&GUID) >= 0 {
         DllCall("oleacc\ObjectFromLresult", "ptr",lResult, "ptr",&GUID, "ptr",0, "ptr*",pdoc)
         return ComObj(9,ComObjQuery(pdoc,IID,IID),1), ObjRelease(pdoc)
      }
   }
}

 

Wo ist hier mein Denkfehler?

Danke

Re: IE Zuweisen einer Variablen zu einem WebBrowser object

Posted: 09 Jan 2019, 05:11
by nnnik
Die InputBox ist für text und kann keine Objekte zuweisen.
Ich verstehe nicht ganz was du mit deinem code bezwecken willst.
Willst du eins der td tags auswählen? Willst du den html code der td tags erhalten?

Re: IE Zuweisen einer Variablen zu einem WebBrowser object  Topic is solved

Posted: 09 Jan 2019, 07:32
by Milchmann
Hallo nnnik,

ich will die td Tags erhalten um diese weiterzubearbeiten.
z Bsp: mit

Code: Select all

name.length
Hintergrund:

Ich lese aus IWB2 den TAG/ID/Class aus und will dann den Tag nicht erst in ein Script

Code: Select all

test := pwb.document.all.tags("td")

speichern und dann das Script neu starten, sondern gleich über die Input diese einfügen und dann zum Beispiel die Anzahl der TAGs, oder den Inhalt einzelner TAGs auslesen.


Danke

Re: IE Zuweisen einer Variablen zu einem WebBrowser object

Posted: 11 Jan 2019, 19:26
by Gerdi
probier mal

Code: Select all

DiesesOuterHtml:=Stored.pelt.outerHTML
in iWB2 einzufuegen. (z.B. in ein HotKey-Unterprogramm)

Wenn ich richtig geraten habe, muesste dann DiesesOuterHtml das enthalten was Du moechtest.