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
}
)