Skip to main content

JavaScript Sites

Scraping single-page applications and JavaScript-rendered content.

When You Need JavaScript Rendering

Enable JavaScript rendering when:

  • Content loads dynamically via AJAX
  • Page is a Single Page Application (React, Vue, Angular)
  • Data appears after page load
  • Infinite scroll or lazy loading

Basic JavaScript Rendering

result = client.scrape(
url="https://spa-website.com",
options={
"render_js": True
}
)

Wait for Elements

Wait for specific content to load:

result = client.scrape(
url="https://dynamic-site.com",
options={
"render_js": True,
"wait_for": "div.product-list", # CSS selector
"wait_time": 5000 # Max wait in milliseconds
}
)

Scroll for Infinite Scroll

result = client.scrape(
url="https://infinite-scroll-site.com",
options={
"render_js": True,
"scroll": True,
"scroll_count": 5 # Number of scrolls
}
)

Handle AJAX Requests

Wait for network requests to complete:

result = client.scrape(
url="https://ajax-heavy-site.com",
options={
"render_js": True,
"wait_for_network_idle": True
}
)

Next Steps