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">
6 <table width=
"100%" cellspacing=
0 cellpadding=
2 border=
0 summary=
"heading">
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>
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>
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>
30 <tr><td bgcolor=
"#ee77aa"><tt> </tt></td><td> </td>
32 <dt><font face=
"helvetica, arial"><a href=
"exceptions.html#Exception">exceptions.Exception
</a>(
<a href=
"exceptions.html#BaseException">exceptions.BaseException
</a>)
35 <dt><font face=
"helvetica, arial"><a href=
"telemetry.core.tab.html#BoundingBoxNotFoundException">BoundingBoxNotFoundException
</a>
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>)
41 <dt><font face=
"helvetica, arial"><a href=
"telemetry.core.tab.html#Tab">Tab
</a>
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>
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>
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>
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>
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>
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>
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>
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>
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>
81 Use
of
negative
indices
is
not
supported.
</tt></dd></dl>
83 <dl><dt><a name=
"BoundingBoxNotFoundException-__reduce__"><strong>__reduce__
</strong></a>(...)
</dt></dl>
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>
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>
89 <dl><dt><a name=
"BoundingBoxNotFoundException-__setstate__"><strong>__setstate__
</strong></a>(...)
</dt></dl>
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>
93 <dl><dt><a name=
"BoundingBoxNotFoundException-__unicode__"><strong>__unicode__
</strong></a>(...)
</dt></dl>
96 Data descriptors inherited from
<a href=
"exceptions.html#BaseException">exceptions.BaseException
</a>:
<br>
97 <dl><dt><strong>__dict__
</strong></dt>
99 <dl><dt><strong>args
</strong></dt>
101 <dl><dt><strong>message
</strong></dt>
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>
109 <tr bgcolor=
"#ffc8d8"><td rowspan=
2><tt> </tt></td>
110 <td colspan=
2><tt>Represents
a
tab
in
the
browser
<br>
112 The
important
parts
of
the
<a href=
"#Tab">Tab
</a> object
are
in
the
runtime
and
page
objects.
<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>
117 #
Evaluates
1+
1 in
the
tab's
JavaScript
context.
<br>
118 tab.Evaluate('
1+
1')
<br> </tt></td></tr>
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>
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>
129 Not
all
browsers
or
browser
versions
support
this
method.
<br>
130 Be
sure
to
check
browser.supports_tab_control.
<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>
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>
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>
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>
146 <dl><dt><a name=
"Tab-CollectGarbage"><strong>CollectGarbage
</strong></a>(self)
</dt></dl>
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>
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>
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>
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>
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>
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>
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>
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>
170 A
telemetry.core.Bitmap.
</tt></dd></dl>
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>
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>
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>
183 <dl><dt><a name=
"Tab-StopVideoCapture"><strong>StopVideoCapture
</strong></a>(self)
</dt><dd><tt>Stops
recording
video
of
the
tab's
contents.
<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>
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>
194 <dl><dt><a name=
"Tab-__init__"><strong>__init__
</strong></a>(self, inspector_backend)
</dt></dl>
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>
201 <dl><dt><strong>dom_stats
</strong></dt>
202 <dd><tt>A
dictionary
populated
with
measured
DOM
statistics.
<br>
204 Currently
this
dictionary
contains:
<br>
206 'document_count':
integer,
<br>
207 'node_count':
integer,
<br>
208 'event_listener_count':
integer
<br>
211 <dl><dt><strong>is_video_capture_running
</strong></dt>
213 <dl><dt><strong>screenshot_supported
</strong></dt>
214 <dd><tt>True
if
the
browser
instance
is
capable
of
capturing
screenshots.
</tt></dd>
216 <dl><dt><strong>url
</strong></dt>
218 <dl><dt><strong>video_capture_supported
</strong></dt>
219 <dd><tt>True
if
the
browser
instance
is
capable
of
capturing
video.
</tt></dd>
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>
225 Not
all
browsers
or
browser
versions
support
this
method.
<br>
226 Be
sure
to
check
browser.supports_tab_control.
</tt></dd></dl>
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>
230 Consider
using
ExecuteJavaScript
for
cases
where
the
result
of
the
<br>
231 expression
is
not
needed.
<br>
233 If
evaluation
throws
in
JavaScript,
a
Python
EvaluateException
will
<br>
236 If
the
result
of
the
evaluation
cannot
be
JSONized,
then
an
<br>
237 EvaluationException
will
be
raised.
</tt></dd></dl>
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>
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>
244 If
the
expression
failed
to
evaluate,
EvaluateException
will
be
raised.
</tt></dd></dl>
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>
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>
252 True
if
2 seconds
have
passed
since
last
resource
received,
false
<br>
253 otherwise.
</tt></dd></dl>
255 <dl><dt><a name=
"Tab-StartTimelineRecording"><strong>StartTimelineRecording
</strong></a>(self, options
<font color=
"#909090">=None
</font>)
</dt></dl>
257 <dl><dt><a name=
"Tab-StopTimelineRecording"><strong>StopTimelineRecording
</strong></a>(self)
</dt></dl>
259 <dl><dt><a name=
"Tab-TakeJSHeapSnapshot"><strong>TakeJSHeapSnapshot
</strong></a>(self, timeout
<font color=
"#909090">=
120</font>)
</dt></dl>
261 <dl><dt><a name=
"Tab-WaitForDocumentReadyStateToBeComplete"><strong>WaitForDocumentReadyStateToBeComplete
</strong></a>(self, timeout
<font color=
"#909090">=
90</font>)
</dt></dl>
263 <dl><dt><a name=
"Tab-WaitForDocumentReadyStateToBeInteractiveOrBetter"><strong>WaitForDocumentReadyStateToBeInteractiveOrBetter
</strong></a>(self, timeout
<font color=
"#909090">=
90</font>)
</dt></dl>
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>
267 This
method
is
robust
against
any
given
Evaluation
timing
out.
</tt></dd></dl>
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>
274 <dl><dt><strong>__weakref__
</strong></dt>
275 <dd><tt>list
of
weak
references
to
the
object
(if
defined)
</tt></dd>
277 <dl><dt><strong>is_timeline_recording_running
</strong></dt>
279 <dl><dt><strong>message_output_stream
</strong></dt>
281 <dl><dt><strong>timeline_model
</strong></dt>
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>
289 <tr><td bgcolor=
"#55aa55"><tt> </tt></td><td> </td>
290 <td width=
"100%"><strong>DEFAULT_TAB_TIMEOUT
</strong> =
60</td></tr></table>