浏览器兼容性及mitm析构方法

This commit is contained in:
Jerry Yan 2022-06-06 17:07:00 +08:00
parent 7135e10527
commit 81c53ba373
5 changed files with 17 additions and 5 deletions

View File

@ -13,10 +13,12 @@ class ChromeDriver(IDriver):
options = Options()
if config()['webdriver']['headless']:
options.add_argument("--headless")
options.add_argument("--window-size=1920,1080")
options.add_argument('--proxy-server=%s:%s' % (config()['mitm']['host'], config()['mitm']['port']))
options.add_argument('-ignore-certificate-errors')
options.add_argument('-ignore -ssl-errors')
options.add_argument('--ignore-certificate-errors')
options.add_argument('--ignore-ssl-errors')
options.add_argument('--incognito')
options.add_experimental_option('excludeSwitches', ['ignore-certificate-errors'])
if config()['webdriver']['chrome']['no_sandbox']:
options.add_argument('--no-sandbox')
proxy = Proxy()

View File

@ -13,9 +13,10 @@ class EdgeDriver(IDriver):
options = Options()
if config()['webdriver']['headless']:
options.add_argument("--headless")
options.add_argument("--window-size=1920,1080")
options.add_argument('--proxy-server=%s:%s' % (config()['mitm']['host'], config()['mitm']['port']))
options.add_argument('-ignore-certificate-errors')
options.add_argument('-ignore -ssl-errors')
options.add_argument('--ignore-certificate-errors')
options.add_argument('--ignore-ssl-errors')
options.add_argument('--incognito')
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL

View File

@ -72,7 +72,8 @@ class BrowserManager():
self._tabs.append(tab_info)
def terminate(self):
del self._driver
if self._driver:
del self._driver
class TabInfo(object):

View File

@ -16,6 +16,7 @@ if __name__ == '__main__':
print("terminate")
browser_manager.terminate()
output_manager.terminate()
proxy_manager.terminate()
atexit.register(terminate)

View File

@ -30,6 +30,13 @@ class ProxyManager:
)
self._thread = None
def __del__(self):
self.terminate()
def terminate(self):
if self._mitm_instance:
self._mitm_instance.shutdown()
def _load_addon(self):
self._mitm_instance.addons.add(DanmakuWebsocketAddon(MESSAGE_QUEUE))