浏览器兼容性及mitm析构方法
This commit is contained in:
parent
7135e10527
commit
81c53ba373
@ -13,10 +13,12 @@ class ChromeDriver(IDriver):
|
|||||||
options = Options()
|
options = Options()
|
||||||
if config()['webdriver']['headless']:
|
if config()['webdriver']['headless']:
|
||||||
options.add_argument("--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('--proxy-server=%s:%s' % (config()['mitm']['host'], config()['mitm']['port']))
|
||||||
options.add_argument('-ignore-certificate-errors')
|
options.add_argument('--ignore-certificate-errors')
|
||||||
options.add_argument('-ignore -ssl-errors')
|
options.add_argument('--ignore-ssl-errors')
|
||||||
options.add_argument('--incognito')
|
options.add_argument('--incognito')
|
||||||
|
options.add_experimental_option('excludeSwitches', ['ignore-certificate-errors'])
|
||||||
if config()['webdriver']['chrome']['no_sandbox']:
|
if config()['webdriver']['chrome']['no_sandbox']:
|
||||||
options.add_argument('--no-sandbox')
|
options.add_argument('--no-sandbox')
|
||||||
proxy = Proxy()
|
proxy = Proxy()
|
||||||
|
@ -13,9 +13,10 @@ class EdgeDriver(IDriver):
|
|||||||
options = Options()
|
options = Options()
|
||||||
if config()['webdriver']['headless']:
|
if config()['webdriver']['headless']:
|
||||||
options.add_argument("--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('--proxy-server=%s:%s' % (config()['mitm']['host'], config()['mitm']['port']))
|
||||||
options.add_argument('-ignore-certificate-errors')
|
options.add_argument('--ignore-certificate-errors')
|
||||||
options.add_argument('-ignore -ssl-errors')
|
options.add_argument('--ignore-ssl-errors')
|
||||||
options.add_argument('--incognito')
|
options.add_argument('--incognito')
|
||||||
proxy = Proxy()
|
proxy = Proxy()
|
||||||
proxy.proxy_type = ProxyType.MANUAL
|
proxy.proxy_type = ProxyType.MANUAL
|
||||||
|
@ -72,7 +72,8 @@ class BrowserManager():
|
|||||||
self._tabs.append(tab_info)
|
self._tabs.append(tab_info)
|
||||||
|
|
||||||
def terminate(self):
|
def terminate(self):
|
||||||
del self._driver
|
if self._driver:
|
||||||
|
del self._driver
|
||||||
|
|
||||||
|
|
||||||
class TabInfo(object):
|
class TabInfo(object):
|
||||||
|
1
main.py
1
main.py
@ -16,6 +16,7 @@ if __name__ == '__main__':
|
|||||||
print("terminate")
|
print("terminate")
|
||||||
browser_manager.terminate()
|
browser_manager.terminate()
|
||||||
output_manager.terminate()
|
output_manager.terminate()
|
||||||
|
proxy_manager.terminate()
|
||||||
|
|
||||||
|
|
||||||
atexit.register(terminate)
|
atexit.register(terminate)
|
||||||
|
@ -30,6 +30,13 @@ class ProxyManager:
|
|||||||
)
|
)
|
||||||
self._thread = None
|
self._thread = None
|
||||||
|
|
||||||
|
def __del__(self):
|
||||||
|
self.terminate()
|
||||||
|
|
||||||
|
def terminate(self):
|
||||||
|
if self._mitm_instance:
|
||||||
|
self._mitm_instance.shutdown()
|
||||||
|
|
||||||
def _load_addon(self):
|
def _load_addon(self):
|
||||||
self._mitm_instance.addons.add(DanmakuWebsocketAddon(MESSAGE_QUEUE))
|
self._mitm_instance.addons.add(DanmakuWebsocketAddon(MESSAGE_QUEUE))
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user