""" This type stub file was generated by pyright. """ from typing import Any, Dict, List from pyppeteer.connection import CDPSession """Coverage module.""" logger = ... class Coverage: """Coverage class. Coverage gathers information about parts of JavaScript and CSS that were used by the page. An example of using JavaScript and CSS coverage to get percentage of initially executed code:: # Enable both JavaScript and CSS coverage await page.coverage.startJSCoverage() await page.coverage.startCSSCoverage() # Navigate to page await page.goto('https://example.com') # Disable JS and CSS coverage and get results jsCoverage = await page.coverage.stopJSCoverage() cssCoverage = await page.coverage.stopCSSCoverage() totalBytes = 0 usedBytes = 0 coverage = jsCoverage + cssCoverage for entry in coverage: totalBytes += len(entry['text']) for range in entry['ranges']: usedBytes += range['end'] - range['start'] - 1 print('Bytes used: {}%'.format(usedBytes / totalBytes * 100)) """ def __init__(self, client: CDPSession) -> None: ... async def startJSCoverage(self, options: Dict[str, Any] = ..., **kwargs: Any) -> None: """Start JS coverage measurement. Available options are: * ``resetOnNavigation`` (bool): Whether to reset coverage on every navigation. Defaults to ``True``. * ``reportAnonymousScript`` (bool): Whether anonymous script generated by the page should be reported. Defaults to ``False``. .. note:: Anonymous scripts are ones that don't have an associated url. These are scripts that are dynamically created on the page using ``eval`` of ``new Function``. If ``reportAnonymousScript`` is set to ``True``, anonymous scripts will have ``__pyppeteer_evaluation_script__`` as their url. """ ... async def stopJSCoverage(self) -> List: """Stop JS coverage measurement and get result. Return list of coverage reports for all scripts. Each report includes: * ``url`` (str): Script url. * ``text`` (str): Script content. * ``ranges`` (List[Dict]): Script ranges that were executed. Ranges are sorted and non-overlapping. * ``start`` (int): A start offset in text, inclusive. * ``end`` (int): An end offset in text, exclusive. .. note:: JavaScript coverage doesn't include anonymous scripts by default. However, scripts with sourceURLs are reported. """ ... async def startCSSCoverage(self, options: Dict[str, Any] = ..., **kwargs: Any) -> None: """Start CSS coverage measurement. Available options are: * ``resetOnNavigation`` (bool): Whether to reset coverage on every navigation. Defaults to ``True``. """ ... async def stopCSSCoverage(self) -> List: """Stop CSS coverage measurement and get result. Return list of coverage reports for all non-anonymous scripts. Each report includes: * ``url`` (str): StyleSheet url. * ``text`` (str): StyleSheet content. * ``ranges`` (List[Dict]): StyleSheet ranges that were executed. Ranges are sorted and non-overlapping. * ``start`` (int): A start offset in text, inclusive. * ``end`` (int): An end offset in text, exclusive. .. note:: CSS coverage doesn't include dynamically injected style tags without sourceURLs (but currently includes... to be fixed). """ ... class JSCoverage: """JavaScript Coverage class.""" def __init__(self, client: CDPSession) -> None: ... async def start(self, options: Dict[str, Any] = ..., **kwargs: Any) -> None: """Start coverage measurement.""" ... async def stop(self) -> List: """Stop coverage measurement and return results.""" ... class CSSCoverage: """CSS Coverage class.""" def __init__(self, client: CDPSession) -> None: ... async def start(self, options: Dict[str, Any] = ..., **kwargs: Any) -> None: """Start coverage measurement.""" ... async def stop(self) -> List: """Stop coverage measurement and return results.""" ... def convertToDisjointRanges(nestedRanges: List[Any]) -> List[Any]: """Convert ranges.""" ...