架构修改,删除Edge浏览器支持,配置可以自己保存

This commit is contained in:
2022-07-13 15:05:42 +08:00
parent becd46e4f9
commit 134cf0186a
17 changed files with 283 additions and 235 deletions

View File

@ -1,15 +1,21 @@
import contextlib
import logging
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from selenium.webdriver.remote.webdriver import WebDriver
from config import ConfigManager
_log = logging.getLogger("IDriver")
_log.setLevel(logging.DEBUG)
class IDriver():
browser: "WebDriver"
_config_manager: "ConfigManager"
def __del__(self):
self.terminate()
def __init__(self, config_manager):
self._config_manager = config_manager
def terminate(self):
self.browser.quit()
@ -20,19 +26,25 @@ class IDriver():
def change_tab(self, tab_handler: str):
...
def close_tab(self, tab_handler: str):
...
def open_url(self, url: str, tab_handler: str = ""):
...
@contextlib.contextmanager
def op_tab(self, tab_handler: str):
cur_handle = self.browser.current_window_handle
_log.debug("切换Tab:旧Tab:%s,新Tab:%s", cur_handle, tab_handler)
if tab_handler == "":
tab_handler = cur_handle
try:
self.change_tab(tab_handler)
_log.debug("切换至新Tab:%s", tab_handler)
yield self
finally:
self.change_tab(cur_handle)
_log.debug("切换至旧Tab:%s", cur_handle)
def refresh(self, tab_handler: str = ""):
...