export declare function scrollToLoadContent(input: {
source: Page | Locator;
onScrollProgress?: CallableFunction;
maxScrolls?: number;
delayInMs?: number;
minHeightChange?: number;
}): Promise<void>;
Examples
import { scrollToLoadContent } from "@intuned/browser";
import { BrowserContext, Page } from "playwright";
interface Params {}
export default async function handler(
params: Params,
page: Page,
context: BrowserContext
) {
// Scroll through entire page content
await page.goto("https://sandbox.intuned.dev/infinite-scroll");
await scrollToLoadContent({
source: page,
});
// Will keep scrolling until the page has loaded all content or the maxScrolls is reached.
}
import { scrollToLoadContent } from "@intuned/browser";
import { BrowserContext, Page } from "playwright";
interface Params {}
export default async function handler(
params: Params,
page: Page,
context: BrowserContext
) {
// Scroll through a specific scrollable div
await page.goto(
"https://docs.intunedhq.com/docs/00-getting-started/introduction"
);
// This will scroll the sidebar content only and watch its height to change.
const container = page.locator("xpath=//div[@id='sidebar-content']");
await scrollToLoadContent({
source: container,
maxScrolls: 20,
});
// Will keep scrolling until the sidebar content has loaded all content or the maxScrolls is reached.
}
Arguments
The input object containing the data to scroll to load content.
Hide properties
Hide properties
The Playwright Page or Locator to scroll.
Optional callback function to call during each scroll iteration.
Maximum number of scroll attempts before stopping. Defaults to 50.
Delay in milliseconds between scroll attempts. Defaults to 100.
Minimum height change in pixels required to continue scrolling. Defaults to 100.
If the page has loaded all content and we still haven’t reached the maxScrolls, the minHeightChange will detect that no new content is loaded and stop the scrolling.