| |
|
|
Georg Hovenbitzer | Hallo zusammen, ich benötige eure Hilfe bei einem OCX Problem. Gibt es eine Möglichkeit die URL eines Bildes aus dem Quelltext einer Webseite auszulesen? Folgender Code liest mir die Page ID und den Page Titel (Überschrift Forumsbeitrag) aus. KompilierenMarkierenSeparierenwindow 780,400
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
Declare Element&
Declare Text$
Declare Inhalt$
Declare PageID$
Declare PosID&
Declare PageTitel$
Declare WebControl&
ocxInit()
var File$="Test.htm"
var WebObject&=ocxCreate(File$,0,0,0,0,0,0,addr(WebControl&))
var Document&=ocxGet(WebObject&,"Document")
var Collection&=ocxGet(Document&,"links")
WhileLoop 0,ocxGet(Collection&,"length")-1
Element&=ocxMethod(Collection&,"item",&loop,0)
If PageID$ = ""
Text$ = Trim$(ocxGet(Element&,"id"))
If Text$ = "skipToContent"
Inhalt$ = ocxGet(Element&,"href")
PosID& = InStr("threadID", Inhalt$)
PageID$ = Mid$(Inhalt$,(PosID& + 9),(Len(Inhalt$) - (PosID& + 9)))
Text$ = ""
EndIf
EndIf
If (PageID$ <> "") And (PageTitel$ = "")
Text$ = ocxGet(Element&,"href")
If Right$(Text$,Len("Thread&threadID=" + PageID$)) = "Thread&threadID=" + PageID$
PageTitel$ = ocxGet(Element&,"innerText")
EndIf
EndIf
ocxRelease(Element&)
EndWhile
Print PageID$
Print PageTitel$
sleep 1000
WaitInput
DestroyWindow(WebControl&)
ocxDeInit()
End
Auch wenn ich mir alle Einträge die ich unter 'links' abrufen kann ansehe, ist die URL des Bildes nicht dabei, weder im Element id, name, innerText oder href.
Kann mir hierbei jemand helfen? Gibt es eine halbwegs gut verständliche Anleitung zu OCX?
Viele Grüße Georg |
|
|
| Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a) | 28.05.2013 ▲ |
|
|
|
|
| Bild? Müsste doch SRC sein, schon danach geschaut? |
|
|
| |
|
|
|
| Hilf mir mal bitte,
bei mir stürzt es ab - vlt. kannst mal Deine HTML und die Inc in ein Paket packen.
Grundsätzlich musst halt die IMGs enumerieren und die haben das src-Attribut. |
|
|
| |
|
|
|
| Hab Paket per PN erhalten und was gefunden!
So klappts: (nur geänderter Bereich) KompilierenMarkierenSeparieren...
ocxInit()
var File$="file:///c:/dev/p/Test5.htm"
var WebControl&=create("htmlwin",%hwnd,file$,0,0,0,400,400)
while HTMLWin("GetBusy", WebControl&)
sleep 200
endwhile
var WebObject&=HTMLWin("QueryInterface",WebControl&)
'var WebObject&=ocxCreate(File$,0,0,0,0,0,0,addr(WebControl&))
var Document&=ocxGet(WebObject&,"Document")
var Collection&=ocxGet(Document&,"images")
WhileLoop 0,ocxGet(Collection&,"length")-1
Element&=ocxMethod(Collection&,"item",&loop,0)
Text$ = Trim$(ocxGet(Element&,"src"))
print text$
continue
|
|
|
| |
|
|
|
Georg Hovenbitzer | Super iF, es klappt - was man da alles auslesen kann! Hast du irgendwo eine Doku gefunden welche Schlüsselworte man einsetzen kann und in welcher Kombination? Bei 'image' funktioniert id, title, alt, width, height und src. Schwierig ist mit diesen Informationen das Hauptbild (af2iofrr.jpg) zu finden und die ganzen Avatare, Icons usw. zu verwerfen.
Viele Grüße Georg |
|
|
| Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a) | 02.06.2013 ▲ |
|
|
|
|
| Es gibt halt das "document"-Objekt und es gibt document.images, die Image-Collection die hier angezapft wird.
Unterobjekte:
node all anchors applets forms images layers links
Siehe auch: [...]
Hier Images: [...]
Vielleicht kannst Du die von Dir gewünschten Bilder anhand von ocxGet(Element&,"width") erkennen. |
|
|
| |
|
|