Я работаю над проектом для работы и, похоже, столкнулся с небольшой проблемой. Этот проект похож на программу «Веб-няня», но предназначен для компании моего клиента. Он будет иметь такие функции, как блокировка веб-сайтов по URL-адресу, ключевым словам и журналам веб-активности. Мне также нужно, чтобы он мог «приостанавливать» загрузку до тех пор, пока не будут введены приемлемое имя пользователя и пароль.
Я нашел сценарий для отслеживания URL-адреса, посещенного в Internet Explorer (показан ниже), но, похоже, он значительно замедляет работу браузера. Я не нашел никакой поддержки или идей о том, как реализовать это в других браузерах.
Итак, мои вопросы:
1). Как отслеживать другие действия в браузере/посещенные URL-адреса? 2). Как предотвратить загрузку, если не будут введены допустимые имя пользователя и пароль?
from win32com.client import Dispatch,WithEvents
import time,threading,pythoncom,sys
stopEvent=threading.Event()
class EventSink(object):
def OnNavigateComplete2(self,*args):
print "complete",args
stopEvent.set()
def waitUntilReady(ie):
if ie.ReadyState!=4:
while 1:
print "waiting"
pythoncom.PumpWaitingMessages()
stopEvent.wait(.2)
if stopEvent.isSet() or ie.ReadyState==4:
stopEvent.clear()
break;
time.clock()
ie=Dispatch('InternetExplorer.Application',EventSink)
ev=WithEvents(ie,EventSink)
ie.Visible=1
ie.Navigate("http://www.google.com")
waitUntilReady(ie)
print "location",ie.LocationName
ie.Navigate("http://www.aol.com")
waitUntilReady(ie)
print "location",ie.LocationName
print ie.LocationName,time.clock()
print ie.ReadyState