|
- Method resolution order:
- Tab
- telemetry.internal.browser.web_contents.WebContents
- __builtin__.object
Methods defined here:
- Activate(self)
- Brings this tab to the foreground asynchronously.
Not all browsers or browser versions support this method.
Be sure to check browser.supports_tab_control.
Please note: this is asynchronous. There is a delay between this call
and the page's documentVisibilityState becoming 'visible', and yet more
delay until the actual tab is visible to the user. None of these delays
are included in this call.
Raises:
devtools_http.DevToolsClientConnectionError
devtools_client_backend.TabNotFoundError
tab_list_backend.TabUnexpectedResponseException
- ClearCache(self, force)
- Clears the browser's networking related disk, memory and other caches.
Args:
force: Iff true, navigates to about:blank which destroys the previous
renderer, ensuring that even "live" resources in the memory cache are
cleared.
Raises:
exceptions.EvaluateException
exceptions.WebSocketDisconnected
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
errors.DeviceUnresponsiveError
- ClearHighlight(self, color)
- Clears a highlight of the given bitmap.RgbaColor.
Raises:
exceptions.EvaluateException
exceptions.WebSocketDisconnected
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
- Close(self)
- Closes this tab.
Not all browsers or browser versions support this method.
Be sure to check browser.supports_tab_control.
Raises:
devtools_http.DevToolsClientConnectionError
devtools_client_backend.TabNotFoundError
tab_list_backend.TabUnexpectedResponseException
exceptions.TimeoutException
- CollectGarbage(self)
- Forces a garbage collection.
Raises:
exceptions.WebSocketDisconnected
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
- GetCookieByName(self, name, timeout=60)
- Returns the value of the cookie by the given |name|.
Raises:
exceptions.WebSocketDisconnected
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
- Highlight(self, color)
- Synchronously highlights entire tab contents with the given RgbaColor.
TODO(tonyg): It is possible that the z-index hack here might not work for
all pages. If this happens, DevTools also provides a method for this.
Raises:
exceptions.EvaluateException
exceptions.WebSocketDisconnected
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
- Screenshot(self, timeout=60)
- Capture a screenshot of the tab's contents.
Returns:
A telemetry.core.Bitmap.
Raises:
exceptions.WebSocketDisconnected
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
- StartVideoCapture(self, min_bitrate_mbps, highlight_bitmap=RgbaColor(r=222, g=100, b=13, a=255))
- Starts capturing video of the tab's contents.
This works by flashing the entire tab contents to a arbitrary color and then
starting video recording. When the frames are processed, we can look for
that flash as the content bounds.
Args:
min_bitrate_mbps: The minimum caputre bitrate in MegaBits Per Second.
The platform is free to deliver a higher bitrate if it can do so
without increasing overhead.
Raises:
exceptions.EvaluateException
exceptions.WebSocketDisconnected
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
ValueError: If the required |min_bitrate_mbps| can't be achieved.
- StopVideoCapture(self)
- Stops recording video of the tab's contents.
This looks for the initial color flash in the first frame to establish the
tab content boundaries and then omits all frames displaying the flash.
Returns:
video: A video object which is a telemetry.core.Video
- __init__(self, inspector_backend, tab_list_backend, browser)
Data descriptors defined here:
- browser
- The browser in which this tab resides.
- dom_stats
- A dictionary populated with measured DOM statistics.
Currently this dictionary contains:
{
'document_count': integer,
'node_count': integer,
'event_listener_count': integer
}
Raises:
inspector_memory.InspectorMemoryException
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
- is_video_capture_running
- screenshot_supported
- True if the browser instance is capable of capturing screenshots.
- url
- Returns the URL of the tab, as reported by devtools.
Raises:
devtools_http.DevToolsClientConnectionError
- video_capture_supported
- True if the browser instance is capable of capturing video.
Methods inherited from telemetry.internal.browser.web_contents.WebContents:
- CloseConnections(self)
- Closes all TCP sockets held open by the browser.
Raises:
exceptions.DevtoolsTargetCrashException if the tab is not alive.
- EnableAllContexts(self)
- Enable all contexts in a page. Returns the number of available contexts.
Raises:
exceptions.WebSocketDisconnected
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
- EvaluateJavaScript(self, expr, timeout=90)
- Evalutes expr in JavaScript and returns the JSONized result.
Consider using ExecuteJavaScript for cases where the result of the
expression is not needed.
If evaluation throws in JavaScript, a Python EvaluateException will
be raised.
If the result of the evaluation cannot be JSONized, then an
EvaluationException will be raised.
Raises:
exceptions.Error: See EvaluateJavaScriptInContext() for a detailed list
of possible exceptions.
- EvaluateJavaScriptInContext(self, expr, context_id, timeout=90)
- Similar to ExecuteJavaScript, except context_id can refer to an iframe.
The main page has context_id=1, the first iframe context_id=2, etc.
Raises:
exceptions.EvaluateException
exceptions.WebSocketDisconnected
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
- ExecuteJavaScript(self, statement, timeout=90)
- Executes statement in JavaScript. Does not return the result.
If the statement failed to evaluate, EvaluateException will be raised.
Raises:
exceptions.Error: See ExecuteJavaScriptInContext() for a detailed list of
possible exceptions.
- ExecuteJavaScriptInContext(self, expr, context_id, timeout=90)
- Similar to ExecuteJavaScript, except context_id can refer to an iframe.
The main page has context_id=1, the first iframe context_id=2, etc.
Raises:
exceptions.EvaluateException
exceptions.WebSocketDisconnected
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
- GetUrl(self)
- Returns the URL to which the WebContents is connected.
Raises:
exceptions.Error: If there is an error in inspector backend connection.
- GetWebviewContexts(self)
- Returns a list of webview contexts within the current inspector backend.
Returns:
A list of WebContents objects representing the webview contexts.
Raises:
exceptions.Error: If there is an error in inspector backend connection.
- HasReachedQuiescence(self)
- Determine whether the page has reached quiescence after loading.
Returns:
True if 2 seconds have passed since last resource received, false
otherwise.
Raises:
exceptions.Error: See EvaluateJavaScript() for a detailed list of
possible exceptions.
- IsAlive(self)
- Whether the WebContents is still operating normally.
Since WebContents function asynchronously, this method does not guarantee
that the WebContents will still be alive at any point in the future.
Returns:
A boolean indicating whether the WebContents is opearting normally.
- Navigate(self, url, script_to_evaluate_on_commit=None, timeout=90)
- Navigates to url.
If |script_to_evaluate_on_commit| is given, the script source string will be
evaluated when the navigation is committed. This is after the context of
the page exists, but before any script on the page itself has executed.
Raises:
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
- StartTimelineRecording(self)
- Starts timeline recording.
Raises:
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
- StopTimelineRecording(self)
- Stops timeline recording.
Raises:
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
- SynthesizeScrollGesture(self, x=100, y=800, xDistance=0, yDistance=-500, xOverscroll=None, yOverscroll=None, preventFling=True, speed=None, gestureSourceType=None, repeatCount=None, repeatDelayMs=None, interactionMarkerName=None)
- Runs an inspector command that causes a repeatable browser driven scroll.
Args:
x: X coordinate of the start of the gesture in CSS pixels.
y: Y coordinate of the start of the gesture in CSS pixels.
xDistance: Distance to scroll along the X axis (positive to scroll left).
yDistance: Ddistance to scroll along the Y axis (positive to scroll up).
xOverscroll: Number of additional pixels to scroll back along the X axis.
xOverscroll: Number of additional pixels to scroll back along the Y axis.
preventFling: Prevents a fling gesture.
speed: Swipe speed in pixels per second.
gestureSourceType: Which type of input events to be generated.
repeatCount: Number of additional repeats beyond the first scroll.
repeatDelayMs: Number of milliseconds delay between each repeat.
interactionMarkerName: The name of the interaction markers to generate.
Raises:
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
- WaitForDocumentReadyStateToBeComplete(self, timeout=90)
- Waits for the document to finish loading.
Raises:
exceptions.Error: See WaitForJavaScriptExpression() for a detailed list
of possible exceptions.
- WaitForDocumentReadyStateToBeInteractiveOrBetter(self, timeout=90)
- Waits for the document to be interactive.
Raises:
exceptions.Error: See WaitForJavaScriptExpression() for a detailed list
of possible exceptions.
- WaitForJavaScriptExpression(self, expr, timeout, dump_page_state_on_timeout=True)
- Waits for the given JavaScript expression to be True.
This method is robust against any given Evaluation timing out.
Args:
expr: The expression to evaluate.
timeout: The number of seconds to wait for the expression to be True.
dump_page_state_on_timeout: Whether to provide additional information on
the page state if a TimeoutException is thrown.
Raises:
exceptions.TimeoutException: On a timeout.
exceptions.Error: See EvaluateJavaScript() for a detailed list of
possible exceptions.
- WaitForNavigate(self, timeout=90)
- Waits for the navigation to complete.
The current page is expect to be in a navigation.
This function returns when the navigation is complete or when
the timeout has been exceeded.
Raises:
exceptions.TimeoutException
exceptions.DevtoolsTargetCrashException
Data descriptors inherited from telemetry.internal.browser.web_contents.WebContents:
- __dict__
- dictionary for instance variables (if defined)
- __weakref__
- list of weak references to the object (if defined)
- id
- Return the unique id string for this tab object.
- message_output_stream
- timeline_model
|