39 lines
862 B
Python
39 lines
862 B
Python
import contextlib
|
|
from typing import TYPE_CHECKING
|
|
|
|
if TYPE_CHECKING:
|
|
from selenium.webdriver.remote.webdriver import WebDriver
|
|
|
|
|
|
class IDriver():
|
|
browser: "WebDriver"
|
|
|
|
def __del__(self):
|
|
self.browser.stop_client()
|
|
|
|
def new_tab(self) -> str:
|
|
...
|
|
|
|
def change_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
|
|
if tab_handler == "":
|
|
tab_handler = cur_handle
|
|
try:
|
|
self.change_tab(tab_handler)
|
|
yield self
|
|
finally:
|
|
self.change_tab(cur_handle)
|
|
|
|
def refresh(self, tab_handler: str = ""):
|
|
...
|
|
|
|
def screenshot(self, tab_handler: str = "") -> str:
|
|
...
|