fix: make browser fetchers type hints always present

This commit is contained in:
Karim shoair
2026-02-15 01:03:15 +02:00
parent 77e825e7be
commit ba4d33337f
+6 -11
View File
@@ -19,7 +19,6 @@ from scrapling.core._types import (
TypeAlias,
SetCookieParam,
SelectorWaitStates,
TYPE_CHECKING,
)
from scrapling.engines.toolbelt.proxy_rotation import ProxyRotator
@@ -27,7 +26,6 @@ from scrapling.engines.toolbelt.proxy_rotation import ProxyRotator
ImpersonateType: TypeAlias = BrowserTypeLiteral | List[BrowserTypeLiteral] | None
if TYPE_CHECKING: # pragma: no cover
# Types for session initialization
class RequestsSession(TypedDict, total=False):
impersonate: ImpersonateType
@@ -47,17 +45,20 @@ if TYPE_CHECKING: # pragma: no cover
cert: Optional[str | Tuple[str, str]]
selector_config: Optional[Dict]
# Types for GET request method parameters
class GetRequestParams(RequestsSession, total=False):
params: Optional[Dict | List | Tuple]
cookies: Optional[CookieTypes]
auth: Optional[Tuple[str, str]]
# Types for POST/PUT/DELETE request method parameters
class DataRequestParams(GetRequestParams, total=False):
data: Optional[Dict[str, str] | List[Tuple] | str | BytesIO | bytes]
json: Optional[Dict | List]
# Types for browser session
class PlaywrightSession(TypedDict, total=False):
max_pages: int
@@ -89,6 +90,7 @@ if TYPE_CHECKING: # pragma: no cover
retries: int
retry_delay: int | float
class PlaywrightFetchParams(TypedDict, total=False):
load_dom: bool
wait: int | float
@@ -104,20 +106,13 @@ if TYPE_CHECKING: # pragma: no cover
blocked_domains: Optional[Set[str]]
proxy: Optional[str | Dict[str, str]]
class StealthSession(PlaywrightSession, total=False):
allow_webgl: bool
hide_canvas: bool
block_webrtc: bool
solve_cloudflare: bool
class StealthFetchParams(PlaywrightFetchParams, total=False):
solve_cloudflare: bool
else: # pragma: no cover
RequestsSession = TypedDict
GetRequestParams = TypedDict
DataRequestParams = TypedDict
PlaywrightSession = TypedDict
PlaywrightFetchParams = TypedDict
StealthSession = TypedDict
StealthFetchParams = TypedDict