To schedule recurring website screenshots with PhantomJS, write a JavaScript capture script, confirm it works when run manually, then have your operating system run the same PhantomJS command on a schedule. This is a legacy workflow: the PhantomJS project says development is suspended, and its upstream repository is archived and read-only. Validate it on your host and target websites rather than assuming compatibility with a current browser.
How the recurring capture works
PhantomJS is a headless, scriptable browser. Its script opens a web page and renders it; cron on Linux or Task Scheduler on Windows starts that script at the times you choose. The scheduler does not take the screenshot itself—it only launches the command.
The official PhantomJS home page states, “Important: PhantomJS development is suspended until further notice.” The upstream repository is archived and read-only, and the published command-line documentation identifies 2.1.1 as the latest release. These are important constraints for sites that depend on newer browser features. PhantomJS project home · Archived PhantomJS repository
Create and test a capture script
Save this adaptation of the official quick-start pattern as capture.js. Replace the URL and output path. The output directory must already exist and be writable by the account that runs PhantomJS.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
var page = require('webpage').create();
page.open('https://example.com/', function (status) {
if (status === 'success') {
page.render('/absolute/path/captures/example.png');
} else {
console.log('Page failed to load: ' + status);
}
phantom.exit();
});
phantom.exit() ends the process after the page-open callback, so the scheduled job does not remain running indefinitely after this capture flow finishes. The official command form is phantomjs [options] somescript.js [args...]; for example:
/usr/local/bin/phantomjs /opt/capture/capture.js
- Find the actual PhantomJS executable path on the host and use it in the command.
- Run the command interactively as the same user account that will own the scheduled job.
- Check the process exit behavior, network access, page-load status, output directory permissions, and resulting image.
- Use an absolute image path because a scheduler may start in a different working directory than your interactive shell.
The example uses one fixed filename, so each successful run overwrites the previous image. For a history of captures, give each run a unique filename; choose a naming scheme that records the time and avoids collisions.
Choose capture dimensions and output
The PhantomJS capture guide documents PNG, JPEG, GIF, and PDF output. It also describes page.viewportSize for setting the browser viewport and page.clipRect for capturing a defined rectangle. Choose the format and dimensions to suit the downstream use; a viewport-sized capture should not be assumed to include the entire page height. PhantomJS screen capture guide
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
For example, set a viewport before opening the page:
page.viewportSize = { width: 1280, height: 900 };
For a clipped region, set page.clipRect with the desired position, width, and height before rendering. Confirm the resulting image on the actual target page: asynchronous assets, authentication requirements, and modern browser features can affect what an older engine renders.
Schedule the command on Linux with cron
Open the crontab for the account that should own the capture job, then add a line such as this schematic example for 06:30 every day:
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
30 6 * * * /usr/local/bin/phantomjs /opt/capture/capture.js >> /opt/capture/capture.log 2>&1
Replace both executable and script paths with the paths on your machine. The redirection appends standard output and errors to a log, which can help diagnose a failed or missed capture.
- Run
crontab -efor the intended user and add the entry. - Check the host’s
crontab(1)andcrontab(5)documentation for the local cron implementation and syntax. - Confirm the machine’s timezone, job account, directory permissions, and that the machine will be powered on or hosted when the run is due.
- Inspect the log and output file after a scheduled run.
Cron schedules commands at specified times, but exact environment and configuration details are host-specific. Linux crontab manual
Schedule the command on Windows
Use Task Scheduler to create a task with a recurring trigger and an action that starts the PhantomJS executable. Set the script path as the action argument. A command-line alternative is schtasks /create; Microsoft’s documentation covers recurring daily, weekly, and monthly schedules.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
- In Task Scheduler, create a task and configure its trigger for the desired recurrence.
- Set the action to start the PhantomJS executable. Put the script path in its arguments field, quoting paths that contain spaces.
- Set the task’s account and working directory as needed, then confirm that account can access the executable, script, network, and output folder.
- Run the task on demand once and inspect its history and the generated file before relying on the recurring trigger.
Administrator requirements can apply when scheduling or managing all local tasks; check the permissions for the account you use. Microsoft schtasks /create reference
Keep the schedule dependable
- Use the intended timezone. Cron and Task Scheduler operate in the host’s configured scheduling context; verify what local time the trigger means.
- Plan for uptime. The host must be running or otherwise available at the scheduled time.
- Choose overwrite or archive deliberately. A constant output filename replaces an earlier image; a dated filename preserves a series.
- Keep useful logs. Redirect command output on Linux or review Task Scheduler history on Windows.
- Validate the legacy browser against your actual site. Successful process execution does not establish that every page element rendered correctly.
Troubleshoot common failures
- The job works interactively but not on schedule: use absolute paths, check the scheduled account and working directory, and verify that account has the same file and network access needed for the manual run.
- No image appears: confirm that the output directory exists and is writable, inspect the log or task history, and check whether the page-open callback reported a failure.
- The screenshot is incomplete or unexpected: check the viewport and clip rectangle settings, page loading behavior, authentication, and asynchronous content. PhantomJS is suspended and should not be treated as equivalent to a maintained current browser.
- The job runs at the wrong time or seems to be missed: check the host timezone, recurrence settings, machine uptime, and scheduler history.
- The process does not finish: ensure the script reaches
phantom.exit()on both success and failure paths in the capture flow.
Or skip the browser setup
ScreenshotNeo provides a website screenshot API and MCP server. A single GET request returns a screenshot or PDF; the service can accept cookie/consent banners like a visitor and remove more than 60 known consent platforms, newsletter popups, and chat widgets before capture. Each cleanup step can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and each response reports the page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients.
cURL example, using ScreenshotNeo API documentation:
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorscurl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
ScreenshotNeo includes 1,000 screenshots a month free with no card; paid plans start at $5 for 3,000 shots. Sign up for free ScreenshotNeo access.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Frequently Asked Questions
Does PhantomJS have to stay open for cron or Task Scheduler to run a capture?
No. The scheduler launches the PhantomJS command at each scheduled time; the script runs and exits for that capture.
Can PhantomJS guarantee that every recurring screenshot will look the same?
No. The project is suspended, and page behavior, assets, authentication, and the host environment can affect the result. Validate captures on the target site and machine.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Free tools Windows power users keep installed
One-click scans. No signup required.

