g1879 c14a3af41b 4.0.4.22(+)
动作链scroll参数位置变化;
tab_ids忽略插件tab;
修复全局代理时无法连接浏览器的问题;
修复截图文件名过长时的问题;
page.save()可根据后缀自动判断类型;
click.middle()增加get_tab参数,返回Tab对象;
修复带html节点的sr获取不到子元素问题;
优化cookies设置逻辑;
Frame对象初始化时不再等待url变化
2024-05-04 20:43:46 +08:00

78 lines
1.9 KiB
Python

# -*- coding: utf-8 -*-
"""
@Author : g1879
@Contact : g1879@qq.com
@Copyright: (c) 2024 by g1879, Inc. All Rights Reserved.
@License : BSD 3-Clause.
"""
from queue import Queue
from threading import Thread, Event
from typing import Union, Callable, Dict, Optional
from requests import Response, Session
from websocket import WebSocket
from .browser import Browser
class GenericAttr(object):
def __init__(self, name: str, tab: Driver): ...
def __getattr__(self, item: str) -> Callable: ...
def __setattr__(self, key: str, value: Callable) -> None: ...
class Driver(object):
id: str
address: str
type: str
owner = ...
alert_flag: bool
_websocket_url: str
_cur_id: int
_ws: Optional[WebSocket]
_recv_th: Thread
_handle_event_th: Thread
_handle_immediate_event_th: Optional[Thread]
_stopped: Event
event_handlers: dict
immediate_event_handlers: dict
method_results: dict
event_queue: Queue
immediate_event_queue: Queue
def __init__(self, tab_id: str, tab_type: str, address: str, owner=None): ...
def _send(self, message: dict, timeout: float = None) -> dict: ...
def _recv_loop(self) -> None: ...
def _handle_event_loop(self) -> None: ...
def _handle_immediate_event_loop(self): ...
def _handle_immediate_event(self, function: Callable, kwargs: dict): ...
def run(self, _method: str, **kwargs) -> dict: ...
def start(self) -> bool: ...
def stop(self) -> bool: ...
def _stop(self) -> None: ...
def set_callback(self, event: str, callback: Union[Callable, None], immediate: bool = False) -> None: ...
class BrowserDriver(Driver):
BROWSERS: Dict[str, Driver] = ...
owner: Browser = ...
_control_session: Session = ...
def __new__(cls, tab_id: str, tab_type: str, address: str, owner: Browser): ...
def __init__(self, tab_id: str, tab_type: str, address: str, owner: Browser): ...
def get(self, url) -> Response: ...