class ScriptMgr: def __init__(self, tab): self.scripts = [] self.tab = tab self.tab.set_listener('Debugger.scriptParsed', self.onScriptParsed) self.tab.set_listener('Debugger.breakpointResolved', self.onBreakpointResolved) self.tab.set_listener('Debugger.paused', self.onPaused) self.tab.set_listener('Debugger.resumed', self.onResumed) self.tab.set_listener('Debugger.scriptFailedToParse', self.onScriptFailedToParse) def onScriptParsed(self, **kwargs): self.scripts.append(kwargs) def onBreakpointResolved(self, **kwargs): print('onBreakpointResolved') def onPaused(self, **kwargs): print('onPaused') def onResumed(self, **kwargs): print('onResumed') def onScriptFailedToParse(self, **kwargs): print('onScriptFailedToParse', kwargs['url']) def getUrl(self, filename): for script in self.scripts: if filename in script['url']: return script['url'] return None