Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Internet explorer events

[es] :: Python & Zope :: Internet explorer events

[ Pregleda: 1260 | Odgovora: 1 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bzero
dev null
europe

Član broj: 5907
Poruke: 371
..mtsns-ns.customer.sbb.co.yu.

Jabber: bzero@elitesecurity.org
Sajt: www.google.com/search?q=b..


Profil

icon Internet explorer events18.01.2006. u 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.
Never trust an operating system you don't have sources for.
18.01.2006. u 18:35 

bzero
dev null
europe

Član broj: 5907
Poruke: 371
..mtsns-ns.customer.sbb.co.yu.

Jabber: bzero@elitesecurity.org
Sajt: www.google.com/search?q=b..


Profil

icon Re: Internet explorer events19.01.2006. u 09:07
U medjuvremenu sam jos ponesto probao i nasao resenje, return True/False ce da odradi posao, znaci:

Code:

def OnBeforeNavigate2(self, pDisp, URL, Flags, TargetFrameName, PostData, Headers, Cancel):
    print "OnBeforeNavigate2: ", URL

    if URL == 'http://www.forbiden-site.com/':
        return True

    return False

Never trust an operating system you don't have sources for.
19.01.2006. u 09:07 

[es] :: Python & Zope :: Internet explorer events

[ Pregleda: 1260 | Odgovora: 1 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.