1 2 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 3 <html><head><title>Python: module telemetry.core.tab</title> 4 </head><body bgcolor="#f0f0f8"> 5 6 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading"> 7 <tr bgcolor="#7799ee"> 8 <td valign=bottom> <br> 9 <font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="telemetry.html"><font color="#ffffff">telemetry</font></a>.<a href="telemetry.core.html"><font color="#ffffff">core</font></a>.tab</strong></big></big></font></td 10 ><td align=right valign=bottom 11 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="../telemetry/core/tab.py">telemetry/core/tab.py</a></font></td></tr></table> 12 <p><tt># Copyright (c) 2012 The Chromium Authors. All rights reserved.<br> 13 # Use of this source code is governed by a BSD-style license that can be<br> 14 # found in the LICENSE file.</tt></p> 15 <p> 16 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 17 <tr bgcolor="#aa55cc"> 18 <td colspan=3 valign=bottom> <br> 19 <font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr> 20 21 <tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td> 22 <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="telemetry.core.bitmap.html">telemetry.core.bitmap</a><br> 23 </td><td width="25%" valign=top><a href="telemetry.core.web_contents.html">telemetry.core.web_contents</a><br> 24 </td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p> 25 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 26 <tr bgcolor="#ee77aa"> 27 <td colspan=3 valign=bottom> <br> 28 <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr> 29 30 <tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td> 31 <td width="100%"><dl> 32 <dt><font face="helvetica, arial"><a href="exceptions.html#Exception">exceptions.Exception</a>(<a href="exceptions.html#BaseException">exceptions.BaseException</a>) 33 </font></dt><dd> 34 <dl> 35 <dt><font face="helvetica, arial"><a href="telemetry.core.tab.html#BoundingBoxNotFoundException">BoundingBoxNotFoundException</a> 36 </font></dt></dl> 37 </dd> 38 <dt><font face="helvetica, arial"><a href="telemetry.core.web_contents.html#WebContents">telemetry.core.web_contents.WebContents</a>(<a href="__builtin__.html#object">__builtin__.object</a>) 39 </font></dt><dd> 40 <dl> 41 <dt><font face="helvetica, arial"><a href="telemetry.core.tab.html#Tab">Tab</a> 42 </font></dt></dl> 43 </dd> 44 </dl> 45 <p> 46 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 47 <tr bgcolor="#ffc8d8"> 48 <td colspan=3 valign=bottom> <br> 49 <font color="#000000" face="helvetica, arial"><a name="BoundingBoxNotFoundException">class <strong>BoundingBoxNotFoundException</strong></a>(<a href="exceptions.html#Exception">exceptions.Exception</a>)</font></td></tr> 50 51 <tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td> 52 <td width="100%"><dl><dt>Method resolution order:</dt> 53 <dd><a href="telemetry.core.tab.html#BoundingBoxNotFoundException">BoundingBoxNotFoundException</a></dd> 54 <dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd> 55 <dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd> 56 <dd><a href="__builtin__.html#object">__builtin__.object</a></dd> 57 </dl> 58 <hr> 59 Data descriptors defined here:<br> 60 <dl><dt><strong>__weakref__</strong></dt> 61 <dd><tt>list of weak references to the object (if defined)</tt></dd> 62 </dl> 63 <hr> 64 Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br> 65 <dl><dt><a name="BoundingBoxNotFoundException-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#BoundingBoxNotFoundException-__init__">__init__</a>(...) initializes x; see help(type(x)) for signature</tt></dd></dl> 66 67 <hr> 68 Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br> 69 <dl><dt><strong>__new__</strong> = <built-in method __new__ of type object><dd><tt>T.<a href="#BoundingBoxNotFoundException-__new__">__new__</a>(S, ...) -> a new object with type S, a subtype of T</tt></dl> 70 71 <hr> 72 Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br> 73 <dl><dt><a name="BoundingBoxNotFoundException-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#BoundingBoxNotFoundException-__delattr__">__delattr__</a>('name') <==> del x.name</tt></dd></dl> 74 75 <dl><dt><a name="BoundingBoxNotFoundException-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#BoundingBoxNotFoundException-__getattribute__">__getattribute__</a>('name') <==> x.name</tt></dd></dl> 76 77 <dl><dt><a name="BoundingBoxNotFoundException-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#BoundingBoxNotFoundException-__getitem__">__getitem__</a>(y) <==> x[y]</tt></dd></dl> 78 79 <dl><dt><a name="BoundingBoxNotFoundException-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#BoundingBoxNotFoundException-__getslice__">__getslice__</a>(i, j) <==> x[i:j]<br> 80 <br> 81 Use of negative indices is not supported.</tt></dd></dl> 82 83 <dl><dt><a name="BoundingBoxNotFoundException-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl> 84 85 <dl><dt><a name="BoundingBoxNotFoundException-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#BoundingBoxNotFoundException-__repr__">__repr__</a>() <==> repr(x)</tt></dd></dl> 86 87 <dl><dt><a name="BoundingBoxNotFoundException-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#BoundingBoxNotFoundException-__setattr__">__setattr__</a>('name', value) <==> x.name = value</tt></dd></dl> 88 89 <dl><dt><a name="BoundingBoxNotFoundException-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl> 90 91 <dl><dt><a name="BoundingBoxNotFoundException-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#BoundingBoxNotFoundException-__str__">__str__</a>() <==> str(x)</tt></dd></dl> 92 93 <dl><dt><a name="BoundingBoxNotFoundException-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl> 94 95 <hr> 96 Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br> 97 <dl><dt><strong>__dict__</strong></dt> 98 </dl> 99 <dl><dt><strong>args</strong></dt> 100 </dl> 101 <dl><dt><strong>message</strong></dt> 102 </dl> 103 </td></tr></table> <p> 104 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 105 <tr bgcolor="#ffc8d8"> 106 <td colspan=3 valign=bottom> <br> 107 <font color="#000000" face="helvetica, arial"><a name="Tab">class <strong>Tab</strong></a>(<a href="telemetry.core.web_contents.html#WebContents">telemetry.core.web_contents.WebContents</a>)</font></td></tr> 108 109 <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> 110 <td colspan=2><tt>Represents a tab in the browser<br> 111 <br> 112 The important parts of the <a href="#Tab">Tab</a> object are in the runtime and page objects.<br> 113 E.g.:<br> 114 # Navigates the tab to a given url.<br> 115 tab.<a href="#Tab-Navigate">Navigate</a>('<a href="http://www.google.com/">http://www.google.com/</a>')<br> 116 <br> 117 # Evaluates 1+1 in the tab's JavaScript context.<br> 118 tab.Evaluate('1+1')<br> </tt></td></tr> 119 <tr><td> </td> 120 <td width="100%"><dl><dt>Method resolution order:</dt> 121 <dd><a href="telemetry.core.tab.html#Tab">Tab</a></dd> 122 <dd><a href="telemetry.core.web_contents.html#WebContents">telemetry.core.web_contents.WebContents</a></dd> 123 <dd><a href="__builtin__.html#object">__builtin__.object</a></dd> 124 </dl> 125 <hr> 126 Methods defined here:<br> 127 <dl><dt><a name="Tab-Activate"><strong>Activate</strong></a>(self)</dt><dd><tt>Brings this tab to the foreground asynchronously.<br> 128 <br> 129 Not all browsers or browser versions support this method.<br> 130 Be sure to check browser.supports_tab_control.<br> 131 <br> 132 Please note: this is asynchronous. There is a delay between this call<br> 133 and the page's documentVisibilityState becoming 'visible', and yet more<br> 134 delay until the actual tab is visible to the user. None of these delays<br> 135 are included in this call.</tt></dd></dl> 136 137 <dl><dt><a name="Tab-ClearCache"><strong>ClearCache</strong></a>(self, force)</dt><dd><tt>Clears the browser's networking related disk, memory and other caches.<br> 138 <br> 139 Args:<br> 140 force: Iff true, navigates to about:blank which destroys the previous<br> 141 renderer, ensuring that even "live" resources in the memory cache are<br> 142 cleared.</tt></dd></dl> 143 144 <dl><dt><a name="Tab-ClearHighlight"><strong>ClearHighlight</strong></a>(self, color)</dt><dd><tt>Clears a highlight of the given bitmap.RgbaColor.</tt></dd></dl> 145 146 <dl><dt><a name="Tab-CollectGarbage"><strong>CollectGarbage</strong></a>(self)</dt></dl> 147 148 <dl><dt><a name="Tab-GetCookieByName"><strong>GetCookieByName</strong></a>(self, name, timeout<font color="#909090">=60</font>)</dt><dd><tt>Returns the value of the cookie by the given |name|.</tt></dd></dl> 149 150 <dl><dt><a name="Tab-Highlight"><strong>Highlight</strong></a>(self, color)</dt><dd><tt>Synchronously highlights entire tab contents with the given RgbaColor.<br> 151 <br> 152 TODO(tonyg): It is possible that the z-index hack here might not work for<br> 153 all pages. If this happens, DevTools also provides a method for this.</tt></dd></dl> 154 155 <dl><dt><a name="Tab-Navigate"><strong>Navigate</strong></a>(self, url, script_to_evaluate_on_commit<font color="#909090">=None</font>, timeout<font color="#909090">=60</font>)</dt><dd><tt>Navigates to url.<br> 156 <br> 157 If |script_to_evaluate_on_commit| is given, the script source string will be<br> 158 evaluated when the navigation is committed. This is after the context of<br> 159 the page exists, but before any script on the page itself has executed.</tt></dd></dl> 160 161 <dl><dt><a name="Tab-PerformActionAndWaitForNavigate"><strong>PerformActionAndWaitForNavigate</strong></a>(self, action_function, timeout<font color="#909090">=60</font>)</dt><dd><tt>Executes action_function, and waits for the navigation to complete.<br> 162 <br> 163 action_function must be a Python function that results in a navigation.<br> 164 This function returns when the navigation is complete or when<br> 165 the timeout has been exceeded.</tt></dd></dl> 166 167 <dl><dt><a name="Tab-Screenshot"><strong>Screenshot</strong></a>(self, timeout<font color="#909090">=60</font>)</dt><dd><tt>Capture a screenshot of the tab's contents.<br> 168 <br> 169 Returns:<br> 170 A telemetry.core.Bitmap.</tt></dd></dl> 171 172 <dl><dt><a name="Tab-StartVideoCapture"><strong>StartVideoCapture</strong></a>(self, min_bitrate_mbps)</dt><dd><tt>Starts capturing video of the tab's contents.<br> 173 <br> 174 This works by flashing the entire tab contents to a arbitrary color and then<br> 175 starting video recording. When the frames are processed, we can look for<br> 176 that flash as the content bounds.<br> 177 <br> 178 Args:<br> 179 min_bitrate_mbps: The minimum caputre bitrate in MegaBits Per Second.<br> 180 The platform is free to deliver a higher bitrate if it can do so<br> 181 without increasing overhead.</tt></dd></dl> 182 183 <dl><dt><a name="Tab-StopVideoCapture"><strong>StopVideoCapture</strong></a>(self)</dt><dd><tt>Stops recording video of the tab's contents.<br> 184 <br> 185 This looks for the initial color flash in the first frame to establish the<br> 186 tab content boundaries and then omits all frames displaying the flash.<br> 187 <br> 188 Yields:<br> 189 (time_ms, bitmap) tuples representing each video keyframe. Only the first<br> 190 frame in a run of sequential duplicate bitmaps is typically included.<br> 191 time_ms is milliseconds since navigationStart.<br> 192 bitmap is a telemetry.core.Bitmap.</tt></dd></dl> 193 194 <dl><dt><a name="Tab-__init__"><strong>__init__</strong></a>(self, inspector_backend)</dt></dl> 195 196 <hr> 197 Data descriptors defined here:<br> 198 <dl><dt><strong>browser</strong></dt> 199 <dd><tt>The browser in which this tab resides.</tt></dd> 200 </dl> 201 <dl><dt><strong>dom_stats</strong></dt> 202 <dd><tt>A dictionary populated with measured DOM statistics.<br> 203 <br> 204 Currently this dictionary contains:<br> 205 {<br> 206 'document_count': integer,<br> 207 'node_count': integer,<br> 208 'event_listener_count': integer<br> 209 }</tt></dd> 210 </dl> 211 <dl><dt><strong>is_video_capture_running</strong></dt> 212 </dl> 213 <dl><dt><strong>screenshot_supported</strong></dt> 214 <dd><tt>True if the browser instance is capable of capturing screenshots.</tt></dd> 215 </dl> 216 <dl><dt><strong>url</strong></dt> 217 </dl> 218 <dl><dt><strong>video_capture_supported</strong></dt> 219 <dd><tt>True if the browser instance is capable of capturing video.</tt></dd> 220 </dl> 221 <hr> 222 Methods inherited from <a href="telemetry.core.web_contents.html#WebContents">telemetry.core.web_contents.WebContents</a>:<br> 223 <dl><dt><a name="Tab-Close"><strong>Close</strong></a>(self)</dt><dd><tt>Closes this page.<br> 224 <br> 225 Not all browsers or browser versions support this method.<br> 226 Be sure to check browser.supports_tab_control.</tt></dd></dl> 227 228 <dl><dt><a name="Tab-EvaluateJavaScript"><strong>EvaluateJavaScript</strong></a>(self, expr, timeout<font color="#909090">=90</font>)</dt><dd><tt>Evalutes expr in JavaScript and returns the JSONized result.<br> 229 <br> 230 Consider using ExecuteJavaScript for cases where the result of the<br> 231 expression is not needed.<br> 232 <br> 233 If evaluation throws in JavaScript, a Python EvaluateException will<br> 234 be raised.<br> 235 <br> 236 If the result of the evaluation cannot be JSONized, then an<br> 237 EvaluationException will be raised.</tt></dd></dl> 238 239 <dl><dt><a name="Tab-EvaluateJavaScriptInContext"><strong>EvaluateJavaScriptInContext</strong></a>(self, expr, context_id, timeout<font color="#909090">=90</font>)</dt><dd><tt>Similar to ExecuteJavaScript, except context_id can refer to an iframe.<br> 240 The main page has context_id=1, the first iframe context_id=2, etc.</tt></dd></dl> 241 242 <dl><dt><a name="Tab-ExecuteJavaScript"><strong>ExecuteJavaScript</strong></a>(self, expr, timeout<font color="#909090">=90</font>)</dt><dd><tt>Executes expr in JavaScript. Does not return the result.<br> 243 <br> 244 If the expression failed to evaluate, EvaluateException will be raised.</tt></dd></dl> 245 246 <dl><dt><a name="Tab-ExecuteJavaScriptInContext"><strong>ExecuteJavaScriptInContext</strong></a>(self, expr, context_id, timeout<font color="#909090">=90</font>)</dt><dd><tt>Similar to ExecuteJavaScript, except context_id can refer to an iframe.<br> 247 The main page has context_id=1, the first iframe context_id=2, etc.</tt></dd></dl> 248 249 <dl><dt><a name="Tab-HasReachedQuiescence"><strong>HasReachedQuiescence</strong></a>(self)</dt><dd><tt>Determine whether the page has reached quiescence after loading.<br> 250 <br> 251 Returns:<br> 252 True if 2 seconds have passed since last resource received, false<br> 253 otherwise.</tt></dd></dl> 254 255 <dl><dt><a name="Tab-StartTimelineRecording"><strong>StartTimelineRecording</strong></a>(self, options<font color="#909090">=None</font>)</dt></dl> 256 257 <dl><dt><a name="Tab-StopTimelineRecording"><strong>StopTimelineRecording</strong></a>(self)</dt></dl> 258 259 <dl><dt><a name="Tab-TakeJSHeapSnapshot"><strong>TakeJSHeapSnapshot</strong></a>(self, timeout<font color="#909090">=120</font>)</dt></dl> 260 261 <dl><dt><a name="Tab-WaitForDocumentReadyStateToBeComplete"><strong>WaitForDocumentReadyStateToBeComplete</strong></a>(self, timeout<font color="#909090">=90</font>)</dt></dl> 262 263 <dl><dt><a name="Tab-WaitForDocumentReadyStateToBeInteractiveOrBetter"><strong>WaitForDocumentReadyStateToBeInteractiveOrBetter</strong></a>(self, timeout<font color="#909090">=90</font>)</dt></dl> 264 265 <dl><dt><a name="Tab-WaitForJavaScriptExpression"><strong>WaitForJavaScriptExpression</strong></a>(self, expr, timeout)</dt><dd><tt>Waits for the given JavaScript expression to be True.<br> 266 <br> 267 This method is robust against any given Evaluation timing out.</tt></dd></dl> 268 269 <hr> 270 Data descriptors inherited from <a href="telemetry.core.web_contents.html#WebContents">telemetry.core.web_contents.WebContents</a>:<br> 271 <dl><dt><strong>__dict__</strong></dt> 272 <dd><tt>dictionary for instance variables (if defined)</tt></dd> 273 </dl> 274 <dl><dt><strong>__weakref__</strong></dt> 275 <dd><tt>list of weak references to the object (if defined)</tt></dd> 276 </dl> 277 <dl><dt><strong>is_timeline_recording_running</strong></dt> 278 </dl> 279 <dl><dt><strong>message_output_stream</strong></dt> 280 </dl> 281 <dl><dt><strong>timeline_model</strong></dt> 282 </dl> 283 </td></tr></table></td></tr></table><p> 284 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 285 <tr bgcolor="#55aa55"> 286 <td colspan=3 valign=bottom> <br> 287 <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr> 288 289 <tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td> 290 <td width="100%"><strong>DEFAULT_TAB_TIMEOUT</strong> = 60</td></tr></table> 291 </body></html>