I may be wrong, but my understanding is that the IE exposed by the Fox
toolkit is, essentially, whatever IE is installed on your system at the
time. In other words, if you have upgraded IE to 8, or 9 or still at 6,
then when you instantiate IE from VFP, you get an instance of that
version of IE.
Yes? No? Anyone know definitively? Bueler? Bueler? Bueler?
Mike
-------- Original Message --------
Subject: Re: VFP searching a web form
From: Dave Crozier <[email protected]>
To: [email protected]
Date: 11/16/2012 4:51 AM
Mike,
The one thing to be careful of doing it my way is that the method uses the full
IE DOM (Document Object Model) which isn't fully available in earlier versions
of Internet Explorer. I think it was only IE8 and onwards when M$ exposed the
FULL DOM model but I can't check here as we only use IE9.
Dave
-----Original Message-----
From: ProFox [mailto:[email protected]] On Behalf Of Mike Copeland
Sent: 16 November 2012 09:20
To: [email protected]
Subject: Re: VFP searching a web form
Thanks Dave. You've confirmed that I'm on the right track...I think I'm going to drop my
reference to the "object" in the object reference.
(Hmm, that's redundantly redundant!)
Mike
-------- Original Message --------
Subject: Re: VFP searching a web form
From: Dave Crozier <[email protected]>
To: [email protected]
Date: 11/16/2012 1:26 AM
Mike, this is what I use to scrape pages. Assumes Windows 7 and IE 9
Dave
****************
* Start Program
*
#define CR CHR(13)
clear
oIE = createobject( "internetexplorer.application" )
oIE.Visible = .t.
oIE.Silent = .F.
* oIE.Width = Sysmetric(1)
* oIE.Height = Sysmetric(2)
* oIE.Left=0
* oIE.Top=0
oIE.Navigate( "http://www.microsoft.com" )
WaitForIE()
*!* for I=1 to 20000
*!* doevents
*!* endfor
loDoc = oIE.Document && get the Document object
*!* oRange = loDoc.body.createTextRange()
*!* if oRange.FindText("Business", 1000000)
*!* oRange.Select()
*!* endif
loForm = loDoc.forms(0) && get the first form object for i = 0 to
loForm.Length-1
? i, loForm.Item(i).Name, loForm.Item(i).Value endfor
* Show the names of the forms:
x = "Forms"+Chr(13) ;
+"====="+Chr(13)
For lnForm = 0 to oIE.Document.forms.length - 1
x = x + TRANSFORM(lnForm) + ": " +
TRANSFORM(oIE.Document.forms(lnForm).name)
EndFor
x = x + CR
* Look at all of the objects.
* all(0) represents everything,
* 1-N are contained objects some of which are containers themselves,
* so the same thing may apear in different .all(x)'s x = x + "All
Objects:"+Chr(13)+"============"+Chr(13)
For lnObj = 0 to oIE.Document.all.length - 1
loObj = oIE.Document.all( lnObj )
x = x + TRANSFORM(lnObj) + ": " + TRANSFORM(Substr(loObj.innerhtml, 1,
20))
x = x + TRANSFORM(loObj.TagName) + ": " + TRANSFORM(loObj.innertext)
X=X+Chr(13)
endfor
STRTOFILE(loform.InnerHTML, "WebResult.txt") MODIFY FILE WebResult.txt NOWAIT
return
PROCEDURE WaitForIE
DO WHILE oIE.Busy() OR oIE.ReadyState <> 4
DOEVENTS
ENDDO
endproc
*
* End Program
**********************
[excessive quoting removed by server]
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message:
http://leafe.com/archives/byMID/profox/[email protected]
** All postings, unless explicitly stated otherwise, are the opinions of the
author, and do not constitute legal or medical advice. This statement is added
to the messages for those lawyers who are too stupid to see the obvious.