blob: 231299f9cf2d7d6c38eb632c763376969b4496b1 [file] [log] [blame] [edit]
<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="lang:clipboard.copy" content="Copy to clipboard">
<meta name="lang:clipboard.copied" content="Copied to clipboard">
<meta name="lang:search.language" content="en">
<meta name="lang:search.pipeline.stopwords" content="True">
<meta name="lang:search.pipeline.trimmer" content="True">
<meta name="lang:search.result.none" content="No matching documents">
<meta name="lang:search.result.one" content="1 matching document">
<meta name="lang:search.result.other" content="# matching documents">
<meta name="lang:search.tokenizer" content="[\s\-]+">
<link href="https://fonts.gstatic.com/" rel="preconnect" crossorigin>
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,500,700|Roboto:300,400,400i,700&display=fallback" rel="stylesheet">
<style>
body,
input {
font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif
}
code,
kbd,
pre {
font-family: "Roboto Mono", "Courier New", Courier, monospace
}
</style>
<link rel="stylesheet" href="../_static/stylesheets/application.css"/>
<link rel="stylesheet" href="../_static/stylesheets/application-palette.css"/>
<link rel="stylesheet" href="../_static/stylesheets/application-fixes.css"/>
<link rel="stylesheet" href="../_static/fonts/material-icons.css"/>
<meta name="theme-color" content="#3f51b5">
<script src="../_static/javascripts/modernizr.js"></script>
<title>selenium.webdriver.common.bidi.cdp &#8212; Selenium 4.30.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/material.css?v=79c92029" />
<script src="../_static/documentation_options.js?v=b77305dc"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
</head>
<body dir=ltr
data-md-color-primary=blue-grey data-md-color-accent=blue>
<svg class="md-svg">
<defs data-children-count="0">
<svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="__github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
</defs>
</svg>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search">
<label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
<a href="#webdriver/selenium.webdriver.common.bidi.cdp" tabindex="1" class="md-skip"> Skip to content </a>
<header class="md-header" data-md-component="header">
<nav class="md-header-nav md-grid">
<div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink">
<a href="../index.html" title="Selenium 4.30.0 documentation"
class="md-header-nav__button md-logo">
&nbsp;
</a>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
</div>
<div class="md-flex__cell md-flex__cell--stretch">
<div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
<span class="md-header-nav__topic">Selenium 4.30.0 documentation</span>
<span class="md-header-nav__topic"> selenium.webdriver.common.bidi.cdp </span>
</div>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" action="../search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder=""Search""
autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active">
<label class="md-icon md-search__icon" for="__search"></label>
<button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
&#xE5CD;
</button>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="result">
<div class="md-search-result__meta">
Type to start searching
</div>
<ol class="md-search-result__list"></ol>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../_static/javascripts/version_dropdown.js"></script>
<script>
var json_loc = "../"versions.json"",
target_loc = "../../",
text = "Versions";
$( document ).ready( add_version_dropdown(json_loc, target_loc, text));
</script>
</div>
</nav>
</header>
<div class="md-container">
<nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item"><a href="../index.html" class="md-tabs__link">Selenium 4.30.0 documentation</a></li>
</ul>
</div>
</nav>
<main class="md-main">
<div class="md-main__inner md-grid" data-md-component="container">
<div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="../index.html" title="Selenium 4.30.0 documentation" class="md-nav__button md-logo">
<img src="../_static/" alt=" logo" width="48" height="48">
</a>
<a href="../index.html"
title="Selenium 4.30.0 documentation">Selenium 4.30.0 documentation</a>
</label>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="__toc">"Contents"</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item"><a href="#webdriver-selenium-webdriver-common-bidi-cdp--page-root" class="md-nav__link">selenium.webdriver.common.bidi.cdp</a><nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.import_devtools" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">import_devtools()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.get_connection_context" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">get_connection_context()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.get_session_context" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">get_session_context()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.connection_context" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">connection_context()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.session_context" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">session_context()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.set_global_connection" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">set_global_connection()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.set_global_session" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">set_global_session()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.BrowserError" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">BrowserError</span></code></a><nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.BrowserError.args" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">BrowserError.args</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.BrowserError.with_traceback" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">BrowserError.with_traceback()</span></code></a>
</li></ul>
</nav>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpConnectionClosed" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpConnectionClosed</span></code></a><nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpConnectionClosed.args" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpConnectionClosed.args</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpConnectionClosed.with_traceback" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpConnectionClosed.with_traceback()</span></code></a>
</li></ul>
</nav>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.InternalError" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">InternalError</span></code></a><nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.InternalError.args" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">InternalError.args</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.InternalError.with_traceback" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">InternalError.with_traceback()</span></code></a>
</li></ul>
</nav>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CmEventProxy" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CmEventProxy</span></code></a><nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CmEventProxy.value" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CmEventProxy.value</span></code></a>
</li></ul>
</nav>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpBase" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpBase</span></code></a><nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpBase.execute" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpBase.execute()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpBase.listen" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpBase.listen()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpBase.wait_for" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpBase.wait_for()</span></code></a>
</li></ul>
</nav>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpSession" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpSession</span></code></a><nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpSession.dom_enable" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpSession.dom_enable()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpSession.page_enable" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpSession.page_enable()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpSession.execute" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpSession.execute()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpSession.listen" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpSession.listen()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpSession.wait_for" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpSession.wait_for()</span></code></a>
</li></ul>
</nav>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpConnection" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpConnection</span></code></a><nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpConnection.aclose" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpConnection.aclose()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpConnection.open_session" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpConnection.open_session()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpConnection.connect_session" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpConnection.connect_session()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpConnection.execute" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpConnection.execute()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpConnection.listen" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpConnection.listen()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.CdpConnection.wait_for" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">CdpConnection.wait_for()</span></code></a>
</li></ul>
</nav>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.open_cdp" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">open_cdp()</span></code></a>
</li>
<li class="md-nav__item"><a href="#selenium.webdriver.common.bidi.cdp.connect_cdp" class="md-nav__link"><code class="docutils literal notranslate"><span class="pre">connect_cdp()</span></code></a>
</li></ul>
</nav>
</li>
<li class="md-nav__item"><a class="md-nav__extra_link" href="../_sources/webdriver/selenium.webdriver.common.bidi.cdp.rst.txt">Show Source</a> </li>
<li id="searchbox" class="md-nav__item"></li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content">
<article class="md-content__inner md-typeset" role="main">
<section id="module-selenium.webdriver.common.bidi.cdp">
<span id="selenium-webdriver-common-bidi-cdp"></span><h1 id="webdriver-selenium-webdriver-common-bidi-cdp--page-root">selenium.webdriver.common.bidi.cdp<a class="headerlink" href="#webdriver-selenium-webdriver-common-bidi-cdp--page-root" title="Link to this heading"></a></h1>
<p class="rubric">Functions</p>
<table class="autosummary longtable docutils align-default">
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.connect_cdp" title="selenium.webdriver.common.bidi.cdp.connect_cdp"><code class="xref py py-obj docutils literal notranslate"><span class="pre">connect_cdp</span></code></a>(nursery, url)</p></td>
<td><p>Connect to the browser specified by <code class="docutils literal notranslate"><span class="pre">url</span></code> and spawn a background task in the specified nursery.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.connection_context" title="selenium.webdriver.common.bidi.cdp.connection_context"><code class="xref py py-obj docutils literal notranslate"><span class="pre">connection_context</span></code></a>(connection)</p></td>
<td><p>This context manager installs <code class="docutils literal notranslate"><span class="pre">connection</span></code> as the session context for the current Trio task.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.get_connection_context" title="selenium.webdriver.common.bidi.cdp.get_connection_context"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_connection_context</span></code></a>(fn_name)</p></td>
<td><p>Look up the current connection.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.get_session_context" title="selenium.webdriver.common.bidi.cdp.get_session_context"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_session_context</span></code></a>(fn_name)</p></td>
<td><p>Look up the current session.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.import_devtools" title="selenium.webdriver.common.bidi.cdp.import_devtools"><code class="xref py py-obj docutils literal notranslate"><span class="pre">import_devtools</span></code></a>(ver)</p></td>
<td><p>Attempt to load the current latest available devtools into the module cache for use later.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.open_cdp" title="selenium.webdriver.common.bidi.cdp.open_cdp"><code class="xref py py-obj docutils literal notranslate"><span class="pre">open_cdp</span></code></a>(url)</p></td>
<td><p>This async context manager opens a connection to the browser specified by <code class="docutils literal notranslate"><span class="pre">url</span></code> before entering the block, then closes the connection when the block exits.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.session_context" title="selenium.webdriver.common.bidi.cdp.session_context"><code class="xref py py-obj docutils literal notranslate"><span class="pre">session_context</span></code></a>(session)</p></td>
<td><p>This context manager installs <code class="docutils literal notranslate"><span class="pre">session</span></code> as the session context for the current Trio task.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.set_global_connection" title="selenium.webdriver.common.bidi.cdp.set_global_connection"><code class="xref py py-obj docutils literal notranslate"><span class="pre">set_global_connection</span></code></a>(connection)</p></td>
<td><p>Install <code class="docutils literal notranslate"><span class="pre">connection</span></code> in the root context so that it will become the default connection for all tasks.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.set_global_session" title="selenium.webdriver.common.bidi.cdp.set_global_session"><code class="xref py py-obj docutils literal notranslate"><span class="pre">set_global_session</span></code></a>(session)</p></td>
<td><p>Install <code class="docutils literal notranslate"><span class="pre">session</span></code> in the root context so that it will become the default session for all tasks.</p></td>
</tr>
</tbody>
</table>
<p class="rubric">Classes</p>
<table class="autosummary longtable docutils align-default">
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CdpBase" title="selenium.webdriver.common.bidi.cdp.CdpBase"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CdpBase</span></code></a>(ws, session_id, target_id)</p></td>
<td><p></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CdpConnection" title="selenium.webdriver.common.bidi.cdp.CdpConnection"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CdpConnection</span></code></a>(ws)</p></td>
<td><p>Contains the connection state for a Chrome DevTools Protocol server.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CdpSession" title="selenium.webdriver.common.bidi.cdp.CdpSession"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CdpSession</span></code></a>(ws, session_id, target_id)</p></td>
<td><p>Contains the state for a CDP session.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CmEventProxy" title="selenium.webdriver.common.bidi.cdp.CmEventProxy"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CmEventProxy</span></code></a>([value])</p></td>
<td><p>A proxy object returned by <code class="xref py py-meth docutils literal notranslate"><span class="pre">CdpBase.wait_for()`()</span></code>.</p></td>
</tr>
</tbody>
</table>
<p class="rubric">Exceptions</p>
<table class="autosummary longtable docutils align-default">
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.BrowserError" title="selenium.webdriver.common.bidi.cdp.BrowserError"><code class="xref py py-obj docutils literal notranslate"><span class="pre">BrowserError</span></code></a>(obj)</p></td>
<td><p>This exception is raised when the browser's response to a command indicates that an error occurred.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CdpConnectionClosed" title="selenium.webdriver.common.bidi.cdp.CdpConnectionClosed"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CdpConnectionClosed</span></code></a>(reason)</p></td>
<td><p>Raised when a public method is called on a closed CDP connection.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.InternalError" title="selenium.webdriver.common.bidi.cdp.InternalError"><code class="xref py py-obj docutils literal notranslate"><span class="pre">InternalError</span></code></a></p></td>
<td><p>This exception is only raised when there is faulty logic in TrioCDP or the integration with PyCDP.</p></td>
</tr>
</tbody>
</table>
<dl class="py function">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.import_devtools">
<span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">import_devtools</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ver</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#import_devtools"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.import_devtools" title="Link to this definition"></a></dt>
<dd><p>Attempt to load the current latest available devtools into the module
cache for use later.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.get_connection_context">
<span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">get_connection_context</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fn_name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#get_connection_context"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.get_connection_context" title="Link to this definition"></a></dt>
<dd><p>Look up the current connection.</p>
<p>If there is no current connection, raise a <code class="docutils literal notranslate"><span class="pre">RuntimeError</span></code> with a
helpful message.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.get_session_context">
<span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">get_session_context</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fn_name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#get_session_context"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.get_session_context" title="Link to this definition"></a></dt>
<dd><p>Look up the current session.</p>
<p>If there is no current session, raise a <code class="docutils literal notranslate"><span class="pre">RuntimeError</span></code> with a
helpful message.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.connection_context">
<span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">connection_context</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">connection</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#connection_context"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.connection_context" title="Link to this definition"></a></dt>
<dd><p>This context manager installs <code class="docutils literal notranslate"><span class="pre">connection</span></code> as the session context for
the current Trio task.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.session_context">
<span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">session_context</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">session</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#session_context"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.session_context" title="Link to this definition"></a></dt>
<dd><p>This context manager installs <code class="docutils literal notranslate"><span class="pre">session</span></code> as the session context for the
current Trio task.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.set_global_connection">
<span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">set_global_connection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">connection</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#set_global_connection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.set_global_connection" title="Link to this definition"></a></dt>
<dd><p>Install <code class="docutils literal notranslate"><span class="pre">connection</span></code> in the root context so that it will become the
default connection for all tasks.</p>
<p>This is generally not recommended, except it may be necessary in
certain use cases such as running inside Jupyter notebook.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.set_global_session">
<span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">set_global_session</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">session</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#set_global_session"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.set_global_session" title="Link to this definition"></a></dt>
<dd><p>Install <code class="docutils literal notranslate"><span class="pre">session</span></code> in the root context so that it will become the
default session for all tasks.</p>
<p>This is generally not recommended, except it may be necessary in
certain use cases such as running inside Jupyter notebook.</p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.BrowserError">
<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">BrowserError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">obj</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#BrowserError"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.BrowserError" title="Link to this definition"></a></dt>
<dd><p>This exception is raised when the browser’s response to a command
indicates that an error occurred.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.BrowserError.args">
<span class="sig-name descname"><span class="pre">args</span></span><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.BrowserError.args" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.BrowserError.with_traceback">
<span class="sig-name descname"><span class="pre">with_traceback</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.BrowserError.with_traceback" title="Link to this definition"></a></dt>
<dd><p>Exception.with_traceback(tb) –
set self.__traceback__ to tb and return self.</p>
</dd></dl>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpConnectionClosed">
<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">CdpConnectionClosed</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">reason</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#CdpConnectionClosed"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpConnectionClosed" title="Link to this definition"></a></dt>
<dd><p>Raised when a public method is called on a closed CDP connection.</p>
<p>Constructor.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>reason</strong> (<em>wsproto.frame_protocol.CloseReason</em>)</p>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpConnectionClosed.args">
<span class="sig-name descname"><span class="pre">args</span></span><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpConnectionClosed.args" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpConnectionClosed.with_traceback">
<span class="sig-name descname"><span class="pre">with_traceback</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpConnectionClosed.with_traceback" title="Link to this definition"></a></dt>
<dd><p>Exception.with_traceback(tb) –
set self.__traceback__ to tb and return self.</p>
</dd></dl>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.InternalError">
<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">InternalError</span></span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#InternalError"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.InternalError" title="Link to this definition"></a></dt>
<dd><p>This exception is only raised when there is faulty logic in TrioCDP or
the integration with PyCDP.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.InternalError.args">
<span class="sig-name descname"><span class="pre">args</span></span><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.InternalError.args" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.InternalError.with_traceback">
<span class="sig-name descname"><span class="pre">with_traceback</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.InternalError.with_traceback" title="Link to this definition"></a></dt>
<dd><p>Exception.with_traceback(tb) –
set self.__traceback__ to tb and return self.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CmEventProxy">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">CmEventProxy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Any</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#CmEventProxy"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CmEventProxy" title="Link to this definition"></a></dt>
<dd><p>A proxy object returned by <code class="xref py py-meth docutils literal notranslate"><span class="pre">CdpBase.wait_for()`()</span></code>.</p>
<p>After the context manager executes, this proxy object will have a
value set that contains the returned event.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CmEventProxy.value">
<span class="sig-name descname"><span class="pre">value</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Any</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">None</span></em><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CmEventProxy.value" title="Link to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpBase">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">CdpBase</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ws</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">session_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">target_id</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#CdpBase"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpBase" title="Link to this definition"></a></dt>
<dd><dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpBase.execute">
<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">execute</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cmd</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Generator</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">T</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#CdpBase.execute"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpBase.execute" title="Link to this definition"></a></dt>
<dd><p>Execute a command on the server and wait for the result.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>cmd</strong> – any CDP command</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>a CDP result</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpBase.listen">
<span class="sig-name descname"><span class="pre">listen</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">event_types</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">buffer_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#CdpBase.listen"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpBase.listen" title="Link to this definition"></a></dt>
<dd><p>Return an async iterator that iterates over events matching the
indicated types.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpBase.wait_for">
<span class="sig-name descname"><span class="pre">wait_for</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">event_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Type</span><span class="p"><span class="pre">[</span></span><span class="pre">T</span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">buffer_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><span class="pre">AsyncGenerator</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CmEventProxy" title="selenium.webdriver.common.bidi.cdp.CmEventProxy"><span class="pre">CmEventProxy</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">None</span><span class="p"><span class="pre">]</span></span></span></span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#CdpBase.wait_for"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpBase.wait_for" title="Link to this definition"></a></dt>
<dd><p>Wait for an event of the given type and return it.</p>
<p>This is an async context manager, so you should open it inside
an async with block. The block will not exit until the indicated
event is received.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpSession">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">CdpSession</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ws</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">session_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">target_id</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#CdpSession"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpSession" title="Link to this definition"></a></dt>
<dd><p>Contains the state for a CDP session.</p>
<p>Generally you should not instantiate this object yourself; you should call
<a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CdpConnection.open_session" title="selenium.webdriver.common.bidi.cdp.CdpConnection.open_session"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CdpConnection.open_session()</span></code></a>.</p>
<p>Constructor.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>ws</strong> (<em>trio_websocket.WebSocketConnection</em>)</p></li>
<li><p><strong>session_id</strong> (<em>devtools.target.SessionID</em>)</p></li>
<li><p><strong>target_id</strong> (<em>devtools.target.TargetID</em>)</p></li>
</ul>
</dd>
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpSession.dom_enable">
<span class="sig-name descname"><span class="pre">dom_enable</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#CdpSession.dom_enable"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpSession.dom_enable" title="Link to this definition"></a></dt>
<dd><p>A context manager that executes <code class="docutils literal notranslate"><span class="pre">dom.enable()</span></code> when it enters and
then calls <code class="docutils literal notranslate"><span class="pre">dom.disable()</span></code>.</p>
<p>This keeps track of concurrent callers and only disables DOM
events when all callers have exited.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpSession.page_enable">
<span class="sig-name descname"><span class="pre">page_enable</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#CdpSession.page_enable"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpSession.page_enable" title="Link to this definition"></a></dt>
<dd><p>A context manager that executes <code class="docutils literal notranslate"><span class="pre">page.enable()</span></code> when it enters and
then calls <code class="docutils literal notranslate"><span class="pre">page.disable()</span></code> when it exits.</p>
<p>This keeps track of concurrent callers and only disables page
events when all callers have exited.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpSession.execute">
<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">execute</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cmd</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Generator</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">T</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpSession.execute" title="Link to this definition"></a></dt>
<dd><p>Execute a command on the server and wait for the result.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>cmd</strong> – any CDP command</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>a CDP result</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpSession.listen">
<span class="sig-name descname"><span class="pre">listen</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">event_types</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">buffer_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpSession.listen" title="Link to this definition"></a></dt>
<dd><p>Return an async iterator that iterates over events matching the
indicated types.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpSession.wait_for">
<span class="sig-name descname"><span class="pre">wait_for</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">event_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Type</span><span class="p"><span class="pre">[</span></span><span class="pre">T</span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">buffer_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><span class="pre">AsyncGenerator</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CmEventProxy" title="selenium.webdriver.common.bidi.cdp.CmEventProxy"><span class="pre">CmEventProxy</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">None</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpSession.wait_for" title="Link to this definition"></a></dt>
<dd><p>Wait for an event of the given type and return it.</p>
<p>This is an async context manager, so you should open it inside
an async with block. The block will not exit until the indicated
event is received.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpConnection">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">CdpConnection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ws</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#CdpConnection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpConnection" title="Link to this definition"></a></dt>
<dd><p>Contains the connection state for a Chrome DevTools Protocol server.</p>
<p>CDP can multiplex multiple “sessions” over a single connection. This
class corresponds to the “root” session, i.e. the implicitly created
session that has no session ID. This class is responsible for
reading incoming WebSocket messages and forwarding them to the
corresponding session, as well as handling messages targeted at the
root session itself. You should generally call the
<a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.open_cdp" title="selenium.webdriver.common.bidi.cdp.open_cdp"><code class="xref py py-func docutils literal notranslate"><span class="pre">open_cdp()</span></code></a> instead of instantiating this class directly.</p>
<p>Constructor.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>ws</strong> (<em>trio_websocket.WebSocketConnection</em>)</p>
</dd>
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpConnection.aclose">
<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">aclose</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#CdpConnection.aclose"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpConnection.aclose" title="Link to this definition"></a></dt>
<dd><p>Close the underlying WebSocket connection.</p>
<p>This will cause the reader task to gracefully exit when it tries
to read the next message from the WebSocket. All of the public
APIs (<code class="docutils literal notranslate"><span class="pre">execute()</span></code>, <code class="docutils literal notranslate"><span class="pre">listen()</span></code>, etc.) will raise
<code class="docutils literal notranslate"><span class="pre">CdpConnectionClosed</span></code> after the CDP connection is closed. It
is safe to call this multiple times.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpConnection.open_session">
<span class="sig-name descname"><span class="pre">open_session</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">target_id</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><span class="pre">AsyncIterator</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CdpSession" title="selenium.webdriver.common.bidi.cdp.CdpSession"><span class="pre">CdpSession</span></a><span class="p"><span class="pre">]</span></span></span></span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#CdpConnection.open_session"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpConnection.open_session" title="Link to this definition"></a></dt>
<dd><p>This context manager opens a session and enables the “simple” style
of calling CDP APIs.</p>
<p>For example, inside a session context, you can call <code class="docutils literal notranslate"><span class="pre">await</span>
<span class="pre">dom.get_document()</span></code> and it will execute on the current session
automatically.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpConnection.connect_session">
<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">connect_session</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">target_id</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CdpSession" title="selenium.webdriver.common.bidi.cdp.CdpSession"><span class="pre">CdpSession</span></a></span></span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#CdpConnection.connect_session"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpConnection.connect_session" title="Link to this definition"></a></dt>
<dd><p>Returns a new <a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CdpSession" title="selenium.webdriver.common.bidi.cdp.CdpSession"><code class="xref py py-class docutils literal notranslate"><span class="pre">CdpSession</span></code></a> connected to the specified
target.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpConnection.execute">
<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">execute</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cmd</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Generator</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">T</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpConnection.execute" title="Link to this definition"></a></dt>
<dd><p>Execute a command on the server and wait for the result.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>cmd</strong> – any CDP command</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>a CDP result</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpConnection.listen">
<span class="sig-name descname"><span class="pre">listen</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">event_types</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">buffer_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpConnection.listen" title="Link to this definition"></a></dt>
<dd><p>Return an async iterator that iterates over events matching the
indicated types.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.CdpConnection.wait_for">
<span class="sig-name descname"><span class="pre">wait_for</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">event_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Type</span><span class="p"><span class="pre">[</span></span><span class="pre">T</span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">buffer_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><span class="pre">AsyncGenerator</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CmEventProxy" title="selenium.webdriver.common.bidi.cdp.CmEventProxy"><span class="pre">CmEventProxy</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">None</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.CdpConnection.wait_for" title="Link to this definition"></a></dt>
<dd><p>Wait for an event of the given type and return it.</p>
<p>This is an async context manager, so you should open it inside
an async with block. The block will not exit until the indicated
event is received.</p>
</dd></dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.open_cdp">
<span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">open_cdp</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">url</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><span class="pre">AsyncIterator</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CdpConnection" title="selenium.webdriver.common.bidi.cdp.CdpConnection"><span class="pre">CdpConnection</span></a><span class="p"><span class="pre">]</span></span></span></span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#open_cdp"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.open_cdp" title="Link to this definition"></a></dt>
<dd><p>This async context manager opens a connection to the browser specified
by <code class="docutils literal notranslate"><span class="pre">url</span></code> before entering the block, then closes the connection when the
block exits.</p>
<p>The context manager also sets the connection as the default
connection for the current task, so that commands like <code class="docutils literal notranslate"><span class="pre">await</span>
<span class="pre">target.get_targets()</span></code> will run on this connection automatically. If
you want to use multiple connections concurrently, it is recommended
to open each on in a separate task.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="selenium.webdriver.common.bidi.cdp.connect_cdp">
<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">selenium.webdriver.common.bidi.cdp.</span></span><span class="sig-name descname"><span class="pre">connect_cdp</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">nursery</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">url</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><a class="reference internal" href="#selenium.webdriver.common.bidi.cdp.CdpConnection" title="selenium.webdriver.common.bidi.cdp.CdpConnection"><span class="pre">CdpConnection</span></a></span></span><a class="reference internal" href="../_modules/selenium/webdriver/common/bidi/cdp.html#connect_cdp"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#selenium.webdriver.common.bidi.cdp.connect_cdp" title="Link to this definition"></a></dt>
<dd><p>Connect to the browser specified by <code class="docutils literal notranslate"><span class="pre">url</span></code> and spawn a background task
in the specified nursery.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">open_cdp()</span></code> context manager is preferred in most situations.
You should only use this function if you need to specify a custom
nursery. This connection is not automatically closed! You can either
use the connection object as a context manager (<code class="docutils literal notranslate"><span class="pre">async</span> <span class="pre">with</span>
<span class="pre">conn:</span></code>) or else call <code class="docutils literal notranslate"><span class="pre">await</span> <span class="pre">conn.aclose()</span></code> on it when you are
done with it. If <code class="docutils literal notranslate"><span class="pre">set_context</span></code> is True, then the returned
connection will be installed as the default connection for the
current task. This argument is for unusual use cases, such as
running inside of a notebook.</p>
</dd></dl>
</section>
</article>
</div>
</div>
</main>
</div>
<footer class="md-footer">
<div class="md-footer-nav">
<nav class="md-footer-nav__inner md-grid">
</a>
</nav>
</div>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-footer-copyright">
<div class="md-footer-copyright__highlight">
&#169; Copyright 2009-2025 Software Freedom Conservancy.
</div>
</div>
</div>
</div>
</footer>
<script src="../_static/javascripts/application.js"></script>
<script>app.initialize({version: "1.0.4", url: {base: ".."}})</script>
</body>
</html>