将控制台和网络监听功能从 `main.py` 中分离到 `listener` 模块,以提高代码的可维护性和可读性。同时,新增 `utils` 模块用于格式化 JSON 数据,并更新 `requirements.txt` 以包含必要的依赖。
39 lines
754 B
Python
39 lines
754 B
Python
from DrissionPage import Chromium, ChromiumOptions, SessionPage
|
|
from concurrent.futures import ThreadPoolExecutor
|
|
import atexit
|
|
|
|
import listener.console
|
|
import listener.network
|
|
|
|
|
|
options = ChromiumOptions()
|
|
# 无头模式
|
|
# options.headless()
|
|
|
|
import os
|
|
os.environ.setdefault('PYTHONIOENCODING', 'utf-8')
|
|
print(os.environ)
|
|
|
|
browser = Chromium(options)
|
|
tab = browser.latest_tab
|
|
|
|
executor = ThreadPoolExecutor(max_workers=2)
|
|
executor.submit(listener.console.console_listener, tab)
|
|
executor.submit(listener.network.network_listener, tab)
|
|
|
|
|
|
tab.get(url='http://127.0.0.1:24613')
|
|
tab.change_mode()
|
|
|
|
|
|
items = tab.eles("t:body")
|
|
for item in items:
|
|
print(item)
|
|
|
|
def exit():
|
|
print('exit')
|
|
browser.quit()
|
|
executor.shutdown()
|
|
|
|
atexit.register(exit)
|