Я работаю над проектом для работы и, похоже, столкнулся с небольшой проблемой. Проект похож на программу Web Nanny, но брендирован для компании моего клиента. Он будет иметь такие функции, как блокировка веб-сайта по 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