>#define CR CHR(13) > >LOCAL ; > loIE as InternetExplorer.Application, ; > llSuccess as Logical, ; > x as String > >* Create an instance of IE >loIE = CREATEOBJECT("InternetExplorer.Application") >loIE.Visible = .T. > >* Tell IE to load a page >llSuccess = loIE.Navigate("http://www.levelextreme.com") > >* Wait for IE to do it >llSuccess = lWait( loIE ) > >* Show the names of the forms: >x = "Forms:" >For lnForm = 0 to loIE.Document.forms.length - 1 > x = x + TRANSFORM(lnForm) + ": " + TRANSFORM(loIE.Document.forms(lnForm).name) >EndFor >x = x + CR > >* Fill in one of the forms >loIE.Document.Forms("Form1").Username.Value = "foo" >loIE.Document.Forms("Form1").Password.Value = "bar" >loIE.Document.Forms(0).Submit() >llSuccess = lWait( loIE ) > >* 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:" >For lnObj = 0 to loIE.Document.all.length - 1 > loObj = loIE.Document.all( lnObj ) > x = x + TRANSFORM(lnObj) + ": " + TRANSFORM(Substr(loObj.innerhtml, 1, 20)) > x = x + TRANSFORM(loObj.TagName) + ": " + TRANSFORM(loObj.innertext) >EndFor > >* Close IE. >* You can leave it open, doesn't seem to be a problem, >* unless .visible=.f. then it is harder to close cuz you cant see the X. >loie.Quit > >* save and display results >STRTOFILE(x, "WebResult.txt") >MODIFY FILE WebResult.txt NOWAIT >Return > > > >****************************** >Function lWait( toIE ) >* Wait for IE to process what you told it too. >* There has got to be a simpler way to do this. > >DECLARE Sleep IN Win32API INTEGER nMilliseconds > >Local ; > ltStartTime, ; > ltTimeOut, ; > lcCheckThis, ; > llRet > >ltStartTime = Datetime() >ltTimeOut = ltStartTime + 60 > >DO WHILE (Datetime() < ltTimeOut ) ; > AND type( "toIE.document" ) <> "O" > =Sleep(1000) >EndDo >DO WHILE (Datetime() < ltTimeOut ) ; > AND toIE.busy > =Sleep(1000) >ENDDO >DO WHILE (Datetime() < ltTimeOut ) ; > and type( "toie.document.readystate" ) <> "C" > =Sleep(1000) >ENDDO >DO WHILE (Datetime() < ltTimeOut ) ; > and toie.document.readystate <> "complete" > =Sleep(1000) >ENDDO > >llRet = Datetime() < ltTimeOut >If !llREt > toie.Stop() >EndIf > >RETURN llRet > >* EOF >>