Selenium Cloud Runner
Pricing
from $8.00 / 1,000 scraped pages
Selenium Cloud Runner
Selenium Cloud Runner scrapes JavaScript-heavy websites using Selenium and headless Chrome. It extracts data with CSS or XPath rules, supports scrolling, popup handling, screenshots, proxies, retries, and structured dataset exports.
Pricing
from $8.00 / 1,000 scraped pages
Rating
0.0
(0)
Developer
Sovanza
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
π Selenium Cloud Runner β Dynamic Website Scraper & Browser Automation Tool
A powerful Selenium-based web scraper that renders JavaScript-heavy pages and extracts data using flexible CSS selectors or XPath rules. This actor works as a universal browser scraping engine, allowing you to scrape almost any website without building a custom scraper from scratch.
π Start Scraping Dynamic Websites
Extract data from modern web apps and SPA pages.
π Render JavaScript-heavy websites
π Extract data using CSS or XPath
π Handle scrolling and popups automatically
π Export results to JSON, CSV, or Excel
Click βRunβ and start scraping instantly.
π§ What This Tool Actually Solves
Most scraping tools fail on modern websites because:
Content loads dynamically via JavaScript
HTML is not available in initial response
Pages require scrolling or interaction
This actor solves that by using:
Selenium + real browser rendering
Dynamic DOM extraction
Configurable waits and interactions
Flexible extraction rules
β‘ Key Features
Selenium web scraper (headless Chrome)
Dynamic website scraping (SPA support)
CSS selector and XPath extraction
Infinite scroll handling
Popup and modal handling
Retry logic and error handling
Screenshot capture support
Proxy support for blocked sites
π How It Works
Open URL in headless browser
Wait for page to load (selector-based)
Handle popups and scrolling (optional)
Extract data using rules
Save structured results to dataset
π Data You Can Extract
Using extraction rules, you can collect:
Text content
HTML elements
Attributes (links, images, etc.)
Lists of elements (multiple matches)
π― Real-World Use Cases
π Dynamic Website Scraping
Extract data from JavaScript-heavy sites and SPAs.
π E-commerce Scraping
Collect product listings, prices, and details.
π Content Monitoring
Track changes in dashboards, feeds, or listings.
π Search Result Extraction
Scrape search pages with infinite scrolling.
π€ Automation Workflows
Integrate scraping into pipelines and APIs.
π οΈ How to Use
Add URLs to scrape
Define extraction rules (CSS/XPath)
Configure waits and scrolling
Enable proxy if needed
Run the actor
Export or integrate results
π οΈ How to Use Selenium Cloud Runner on Apify (aligned to this implementation)
At a high level:
- Add one or more URLs in
urls. - Set
waitForSelectorso the actor knows when the page is βreadyβ. - Define
extractrules to collect fields using CSS or XPath. - (Optional) Enable
scrollfor infinite-scroll feeds and setcloseSelectorsfor popups. - (Optional) Enable
takeScreenshot(savesSCREENSHOT_00001.pngetc. to the default key-value store). - (Optional) Enable
proxyConfigurationfor blocked sites (residential proxy recommended). - Run the actor and export results from the default Dataset (JSON/CSV/Excel) or fetch via API.
Input example
Full schema: INPUT_SCHEMA.json. Example:
{"urls": ["https://example.com/"],"waitForSelector": "h1","waitTimeoutSecs": 25,"extract": [{ "name": "title", "selector": "h1", "type": "text", "all": false },{ "name": "links", "selector": "a", "type": "attr", "attr": "href", "all": true }],"scroll": {"enabled": false,"maxRounds": 10,"scrollBy": 900,"pauseSecs": 1.0,"stopOnNoNewHeightRounds": 2},"closeSelectors": [],"maxRetries": 2,"retryDelaySecs": 3,"includeVisibleText": true,"includeHtml": false,"takeScreenshot": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
urls(required): One or more URLs to open.waitForSelector(optional): CSS or XPath selector to wait for before extraction (defaultbody).extract(optional): Extraction rules (CSS or XPath) that produce custom fields.scroll(optional): Infinite scroll behavior.closeSelectors(optional): CSS selectors to click to close popups/modals.maxRetries/retryDelaySecs(optional): Retry policy per URL.includeVisibleText(optional): Include page visible text (defaulttrue).includeHtml(optional): Include full HTML (defaultfalse).takeScreenshot(optional): Save screenshots to key-value store (defaultfalse).proxyConfiguration(optional): Apify proxy settings.
βοΈ Input Configuration
Required
urls β One or more URLs
Key Options
waitForSelector β Page readiness condition
extract[] β Data extraction rules
scroll β Infinite scroll configuration
closeSelectors β Popup handling
maxRetries / retryDelaySecs β Retry logic
includeVisibleText β Extract full text
includeHtml β Include page HTML
takeScreenshot β Save page screenshots
proxyConfiguration β Use proxy
π§© Example Extraction Rules
{ "extract": [ { "name": "title", "selector": "h1", "type": "text" }, { "name": "links", "selector": "a", "type": "attr", "attr": "href", "all": true } ] }
π¦ Output
Each dataset item includes:
inputUrl
finalUrl
status (OK / ERROR)
pageTitle
extracted data (custom fields)
visibleText (optional)
html (optional)
screenshotKey (optional)
error (if failed)
timestamp
Output example
Example dataset item (illustrative):
{"inputUrl": "https://example.com/","finalUrl": "https://example.com/","status": "OK","pageTitle": "Example Domain","extracted": {"title": "Example Domain","links": ["https://www.iana.org/domains/example"]},"visibleText": "Example Domain ...","screenshotKey": null,"error": null,"timestamp": "2026-04-29T12:00:00Z"}
Example error row:
{"inputUrl": "https://example.com/","finalUrl": "https://example.com/","status": "ERROR","pageTitle": null,"extracted": {},"error": "Navigation failed (Chrome error page). chrome_error_url:chrome-error://chromewebdata/","timestamp": "2026-04-29T12:00:00Z"}
π Anti-Blocking & Best Practices
To improve success rate:
Use residential proxy
Increase wait times
Use correct selectors
Limit request frequency
FAQ
What is Selenium Cloud Runner used for?
It is a dynamic website scraper that extracts data from JavaScript-heavy pages using Selenium and browser automation.
When should I use Selenium instead of simple HTTP scraping?
Use Selenium when:
Content is loaded dynamically
JavaScript rendering is required
Pages need interaction (scrolling, clicks)
Can I scrape multiple pages in one run?
Yes. You can provide multiple URLs and process them in a single run.
What is the difference between CSS and XPath selectors?
Both are used to locate elements in the DOM:
CSS is simpler and faster
XPath is more powerful for complex queries
Why am I getting empty results?
Possible reasons:
Incorrect selector
Page not fully loaded
Site blocking requests
Can I extract multiple elements at once?
Yes. Use "all": true in extraction rules to return lists.
Can I take screenshots of pages?
Yes. Enable takeScreenshot to save screenshots to the key-value store.
What formats can I export data in?
JSON, CSV, and Excel β or via the Apify platform API.
Is this suitable for large-scale scraping?
Yes, but you should configure proxies, retries, and concurrency properly.
Can I integrate this into automation workflows?
Yes. This actor is designed for pipelines, APIs, and scheduled jobs.
π Why Use This Tool?
Instead of building custom Selenium scripts, you get:
Ready-to-use browser scraper
Flexible extraction system
Scalable scraping workflows
Structured data output
π Get Started
Add your URLs and extraction rules to start scraping dynamic websites instantly.