mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
146 lines
3.9 KiB
Python
146 lines
3.9 KiB
Python
# -*- coding:utf-8 -*-
|
|
"""
|
|
@Author : g1879
|
|
@Contact : g1879@qq.com
|
|
"""
|
|
from os import popen
|
|
from pathlib import Path
|
|
from typing import Union, Tuple, List
|
|
|
|
from .chromium_base import ChromiumBase
|
|
from .chromium_driver import ChromiumDriver
|
|
from .chromium_tab import ChromiumTab
|
|
from .configs.driver_options import DriverOptions
|
|
|
|
|
|
class ChromiumPage(ChromiumBase):
|
|
|
|
def __init__(self,
|
|
addr_driver_opts: Union[str, ChromiumDriver, DriverOptions] = None,
|
|
tab_id: str = None,
|
|
timeout: float = None):
|
|
self._driver_options: [ChromiumDriver, DriverOptions] = ...
|
|
self.process: popen = ...
|
|
self._window_setter: WindowSetter = ...
|
|
self._main_tab: str = ...
|
|
self._alert: Alert = ...
|
|
self._download_path: str = ...
|
|
|
|
def _connect_browser(self,
|
|
addr_driver_opts: Union[str, ChromiumDriver, DriverOptions] = None,
|
|
tab_id: str = None) -> None: ...
|
|
|
|
def _init_page(self, tab_id: str = None) -> None: ...
|
|
|
|
def _set_options(self) -> None: ...
|
|
|
|
def _set_chromium_options(self) -> None: ...
|
|
|
|
@property
|
|
def tabs_count(self) -> int: ...
|
|
|
|
@property
|
|
def tabs(self) -> List[str]: ...
|
|
|
|
@property
|
|
def main_tab(self) -> str: ...
|
|
|
|
@property
|
|
def process_id(self) -> Union[None, int]: ...
|
|
|
|
@property
|
|
def set_window(self) -> WindowSetter: ...
|
|
|
|
@property
|
|
def download_list(self) -> list: ...
|
|
|
|
@property
|
|
def download_set(self) -> ChromiumDownloadSetter: ...
|
|
|
|
@property
|
|
def download_path(self) -> str: ...
|
|
|
|
def get_tab(self, tab_id: str = None) -> ChromiumTab: ...
|
|
|
|
def get_screenshot(self, path: [str, Path] = None,
|
|
as_bytes: [bool, str] = None,
|
|
full_page: bool = False,
|
|
left_top: Tuple[int, int] = None,
|
|
right_bottom: Tuple[int, int] = None) -> Union[str, bytes]: ...
|
|
|
|
def to_front(self) -> None: ...
|
|
|
|
def new_tab(self, url: str = None, switch_to: bool = True) -> None: ...
|
|
|
|
def to_main_tab(self) -> None: ...
|
|
|
|
def to_tab(self, tab_id: str = None, activate: bool = True) -> None: ...
|
|
|
|
def _to_tab(self, tab_id: str = None, activate: bool = True, read_doc: bool = True) -> None: ...
|
|
|
|
def close_tabs(self, tab_ids: Union[str, List[str], Tuple[str]] = None, others: bool = False) -> None: ...
|
|
|
|
def close_other_tabs(self, tab_ids: Union[str, List[str], Tuple[str]] = None) -> None: ...
|
|
|
|
def handle_alert(self, accept: bool = True, send: str = None, timeout: float = None) -> Union[str, None]: ...
|
|
|
|
def hide_browser(self) -> None: ...
|
|
|
|
def show_browser(self) -> None: ...
|
|
|
|
def quit(self) -> None: ...
|
|
|
|
def _on_alert_close(self, **kwargs): ...
|
|
|
|
def _on_alert_open(self, **kwargs): ...
|
|
|
|
|
|
class ChromiumDownloadSetter(object):
|
|
def __init__(self, page: ChromiumPage):
|
|
self._page: ChromiumPage = ...
|
|
|
|
def save_path(self, path: Union[str, Path]): ...
|
|
|
|
|
|
class Alert(object):
|
|
|
|
def __init__(self):
|
|
self.activated: bool = ...
|
|
self.text: str = ...
|
|
self.type: str = ...
|
|
self.defaultPrompt: str = ...
|
|
self.response_accept: str = ...
|
|
self.response_text: str = ...
|
|
|
|
|
|
class WindowSetter(object):
|
|
|
|
def __init__(self, page: ChromiumPage):
|
|
self.driver: ChromiumDriver = ...
|
|
self.window_id: str = ...
|
|
|
|
def maximized(self) -> None: ...
|
|
|
|
def minimized(self) -> None: ...
|
|
|
|
def fullscreen(self) -> None: ...
|
|
|
|
def normal(self) -> None: ...
|
|
|
|
def size(self, width: int = None, height: int = None) -> None: ...
|
|
|
|
def location(self, x: int = None, y: int = None) -> None: ...
|
|
|
|
def _get_info(self) -> dict: ...
|
|
|
|
def _perform(self, bounds: dict) -> None: ...
|
|
|
|
|
|
def show_or_hide_browser(page: ChromiumPage, hide: bool = True) -> None: ...
|
|
|
|
|
|
def get_browser_progress_id(progress: Union[popen, None], address: str) -> Union[str, None]: ...
|
|
|
|
|
|
def get_chrome_hwnds_from_pid(pid: str, title: str) -> list: ...
|