| Index: telemetry/telemetry/internal/actions/action_runner.py
|
| diff --git a/telemetry/telemetry/internal/actions/action_runner.py b/telemetry/telemetry/internal/actions/action_runner.py
|
| index 28c00c883d4d13ac595da0c1216961826834c0be..a2a647cf70facea938f25efd522aa6ae0aba4714 100644
|
| --- a/telemetry/telemetry/internal/actions/action_runner.py
|
| +++ b/telemetry/telemetry/internal/actions/action_runner.py
|
| @@ -22,6 +22,7 @@ from telemetry.internal.actions.repaint_continuously import (
|
| from telemetry.internal.actions.repeatable_scroll import RepeatableScrollAction
|
| from telemetry.internal.actions.scroll import ScrollAction
|
| from telemetry.internal.actions.scroll_bounce import ScrollBounceAction
|
| +from telemetry.internal.actions.scroll_to_element import ScrollToElementAction
|
| from telemetry.internal.actions.seek import SeekAction
|
| from telemetry.internal.actions.swipe import SwipeAction
|
| from telemetry.internal.actions.tap import TapAction
|
| @@ -397,6 +398,21 @@ class ActionRunner(object):
|
| speed_in_pixels_per_second=speed_in_pixels_per_second,
|
| use_touch=use_touch, synthetic_gesture_source=synthetic_gesture_source))
|
|
|
| + def ScrollPageToElement(self, selector=None, element_function=None,
|
| + speed_in_pixels_per_second=800):
|
| + """Perform scroll gesture on page until an element is in view.
|
| +
|
| + Args:
|
| + selector: A CSS selector describing the element.
|
| + element_function: A JavaScript function (as string) that is used
|
| + to retrieve the element. For example:
|
| + 'function() { return foo.element; }'.
|
| + speed_in_pixels_per_second: Speed to scroll.
|
| + """
|
| + self._RunAction(ScrollToElementAction(
|
| + selector=selector, element_function=element_function,
|
| + speed_in_pixels_per_second=speed_in_pixels_per_second))
|
| +
|
| def RepeatableBrowserDrivenScroll(self, x_scroll_distance_ratio=0.0,
|
| y_scroll_distance_ratio=0.5,
|
| repeat_count=0,
|
|
|