[ bzero @ 18.01.2006. 18:35 ] @
Napravio sam program koji koristi Internet explorer preko COM-a i potrebno mi je da hvatam odredjene dogadjaje, konkretno otvaranje novog prozora i before navigate. Otprilike ovako: Code: ..... class ExplorerEvents: def OnNewWindow2(self, pDisp, Cancel): #Cancel = True # ovo takodje ne radi return (pDisp, True) # ali ovo radi lepo, prozori se ne otvaraju def OnBeforeNavigate2(self, pDisp, URL, Flags, TargetFrameName, PostData, Headers, Cancel): print "OnBeforeNavigate2: ", URL if URL == 'http://www.forbiden-site.com/': Cancel = True # ovo ne radi ...... ie = win32com.client.DispatchEx("InternetExplorer.Application") ie_events = win32com.client.WithEvents(ie, ExplorerEvents) ie.Navigate(url) pythoncom.PumpWaitingMessages() itd ...... Sve je ovo lepo, ali je problem u sledecem: ne mogu da u OnBeforeNavigate2 sprecim da explorer ode na neki URL. Prema onome sto sam procitao trebalo bi da je dovoljno da se u OnBeforeNavigate2 Cancel postavi na True, medjutim ovo ne radi. Slican problem sam imao kod OnNewWindow2, kada sam hteo da sprecim da se otvaraju novi prozori, Cancel = True takodje nije radilo, ali sam nasao kako ustvari treba uraditi return (pDisp, True/False) i to je to. Medjutim za OnBeforeNavigate2 sam probao kojesta i nista ne radi. Jel ima neko iskustva sa ovim ili makar ideju sta da uradim. |