from .config import *
from .utils import *
import abc
from _typeshed import Incomplete
from abc import ABC, abstractmethod
from typing import Callable
logger: Incomplete
logger_driver: Incomplete
urllib3_logger: Incomplete
http_client_logger: Incomplete
driver_finder_logger: Incomplete
class CrawlerStrategy(ABC, metaclass=abc.ABCMeta):
@abstractmethod
def crawl(self, url: str, **kwargs) -> str: ...
@abstractmethod
def take_screenshot(self, save_path: str): ...
@abstractmethod
def update_user_agent(self, user_agent: str): ...
@abstractmethod
def set_hook(self, hook_type: str, hook: Callable): ...
class CloudCrawlerStrategy(CrawlerStrategy, metaclass=abc.ABCMeta):
use_cached_html: Incomplete
def __init__(self, use_cached_html: bool = False) -> None: ...
def crawl(self, url: str) -> str: ...
class LocalSeleniumCrawlerStrategy(CrawlerStrategy):
options: Incomplete
use_cached_html: Incomplete
js_code: Incomplete
verbose: Incomplete
hooks: Incomplete
service: Incomplete
driver: Incomplete
def __init__(self, use_cached_html: bool = False, js_code=None, **kwargs) -> None: ...
def set_hook(self, hook_type: str, hook: Callable): ...
def execute_hook(self, hook_type: str, *args): ...
def update_user_agent(self, user_agent: str): ...
def set_custom_headers(self, headers: dict): ...
def crawl(self, url: str, **kwargs) -> str: ...
def take_screenshot(self) -> str: ...
def quit(self) -> None: ...