mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
97 lines
2.7 KiB
Python
97 lines
2.7 KiB
Python
# -*- encoding: utf-8 -*-
|
|
"""
|
|
@Author : g1879
|
|
@Contact : g1879@qq.com
|
|
"""
|
|
from subprocess import Popen
|
|
from typing import Union
|
|
|
|
from requests import Session
|
|
from requests.cookies import RequestsCookieJar
|
|
from selenium.webdriver.chrome.options import Options
|
|
from selenium.webdriver.chrome.webdriver import WebDriver
|
|
from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver
|
|
|
|
from DrissionPage.configs.driver_options import DriverOptions
|
|
from DrissionPage.configs.session_options import SessionOptions
|
|
|
|
|
|
class Drission(object):
|
|
|
|
def __init__(self,
|
|
driver_or_options: Union[RemoteWebDriver, Options, DriverOptions, bool] = None,
|
|
session_or_options: Union[Session, dict, SessionOptions, bool] = None,
|
|
ini_path: str = None,
|
|
proxy: dict = None):
|
|
self._session: Session = ...
|
|
self._session_options: dict = ...
|
|
self._proxy: dict = ...
|
|
self._driver: WebDriver = ...
|
|
self._debugger: Popen = ...
|
|
self._driver_options: DriverOptions = ...
|
|
|
|
def __del__(self): ...
|
|
|
|
@property
|
|
def session(self) -> Session: ...
|
|
|
|
@property
|
|
def driver(self) -> WebDriver: ...
|
|
|
|
@property
|
|
def driver_options(self) -> Union[DriverOptions, Options]: ...
|
|
|
|
@property
|
|
def session_options(self) -> dict: ...
|
|
|
|
@session_options.setter
|
|
def session_options(self, options: Union[dict, SessionOptions]) -> None: ...
|
|
|
|
@property
|
|
def proxy(self) -> Union[None, dict]: ...
|
|
|
|
@proxy.setter
|
|
def proxy(self, proxies: dict = None) -> None: ...
|
|
|
|
@property
|
|
def debugger_progress(self): ...
|
|
|
|
def kill_browser(self) -> None: ...
|
|
|
|
def get_browser_progress_id(self) -> Union[str, None]: ...
|
|
|
|
def hide_browser(self) -> None: ...
|
|
|
|
def show_browser(self) -> None: ...
|
|
|
|
def _show_or_hide_browser(self, hide: bool = True) -> None: ...
|
|
|
|
def set_cookies(self,
|
|
cookies: Union[RequestsCookieJar, list, tuple, str, dict],
|
|
set_session: bool = False,
|
|
set_driver: bool = False) -> None: ...
|
|
|
|
def _set_session(self, data: dict) -> None: ...
|
|
|
|
def cookies_to_session(self, copy_user_agent: bool = False) -> None: ...
|
|
|
|
def cookies_to_driver(self, url: str) -> None: ...
|
|
|
|
def close_driver(self, kill: bool = False) -> None: ...
|
|
|
|
def close_session(self) -> None: ...
|
|
|
|
def close(self) -> None: ...
|
|
|
|
|
|
def user_agent_to_session(driver: RemoteWebDriver, session: Session) -> None: ...
|
|
|
|
|
|
def create_driver(chrome_path: str, driver_path: str, options: Options) -> WebDriver: ...
|
|
|
|
|
|
def get_chrome_hwnds_from_pid(pid: str) -> list: ...
|
|
|
|
|
|
def kill_progress(pid: str = None, port: int = None) -> bool: ...
|