Automatically scrolls through infinite scroll content by repeatedly scrolling to the bottom
until no new content loads or maximum scroll limit 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 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.}
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.