Passer au contenu principal

scrollIntoView

Scroll element into viewport for Desktop/Mobile Web AND Mobile Native Apps.

information

Scrolling for Mobile Native Apps is done based on native mobile gestures. It is only supported for the following drivers:

Usage
$(selector).scrollIntoView({ behavior, block, inline, direction, maxScrolls, scrollableElement })
Parameters
NameTypeDetails
optionsobject, booleanoptions for Element.scrollIntoView(). Default for desktop/mobile web:
{ block: 'start', inline: 'nearest' }
Default for Mobile Native App
{ maxScrolls: 10, scrollDirection: 'down' }
options.behavior
optional
stringSee MDN Reference.
WEB-ONLY (Desktop/Mobile)
options.block
optional
stringSee MDN Reference.
WEB-ONLY (Desktop/Mobile)
options.inline
optional
stringSee MDN Reference.
WEB-ONLY (Desktop/Mobile)
options.direction
optional
stringCan be one of down, up, left or right, default is down.
MOBILE-NATIVE-APP-ONLY
options.maxScrolls
optional
numberThe max amount of scrolls until it will stop searching for the element, default is 10.
MOBILE-NATIVE-APP-ONLY
options.scrollableElement
optional
ElementElement that is used to scroll within. If no element is provided it will use the following selector for iOS -ios predicate string:type == "XCUIElementTypeApplication" and the following for Android //android.widget.ScrollView'. If more elements match the default selector, then by default it will pick the first matching element.
MOBILE-NATIVE-APP-ONLY
Examples
desktop.mobile.web.scrollIntoView.js
it('should demonstrate the desktop/mobile web scrollIntoView command', async () => {
const elem = await $('#myElement');
// scroll to specific element
await elem.scrollIntoView();
// center element within the viewport
await elem.scrollIntoView({ block: 'center', inline: 'center' });
});

mobile.native.app.scrollIntoView.js
it('should demonstrate the mobile native app scrollIntoView command', async () => {
const elem = await $('#myElement');
// scroll to a specific element in the default scrollable element for Android or iOS for a maximum of 10 scrolls
await elem.scrollIntoView();
// Scroll to the left in the scrollable element called '#scrollable' for a maximum of 5 scrolls
await elem.scrollIntoView({ direction: 'left', maxScrolls: 5, scrollableElement: $('#scrollable') });
});

Welcome! How can I help?

WebdriverIO AI Copilot