A Windows VPS is a common home for browser automation: testing web apps, filling internal forms, generating reports from web dashboards, monitoring pages, or running RPA (robotic process automation) tools that only exist for Windows. It runs 24/7, and keeps the work off your own computer.

Use automation responsibly: only automate sites and accounts you’re authorised to use, follow their terms of service, and don’t use automation for spam, fake engagement, or getting around security measures. See the VPS.DO legal policies.

Choose your tool

Tool Language Notes
Playwright Python, Node.js, .NET, Java Modern, reliable auto-waiting; bundles browsers
Selenium Many languages Long-established; WebDriver for Chrome, Edge, Firefox
Puppeteer Node.js Chrome/Chromium focused
Power Automate Desktop Visual (low-code) Microsoft’s RPA tool, included in Windows 11; may be installed on Windows Server, check licensing
UiPath, AutoHotkey Visual / script Desktop + web automation

Set up Playwright (Python) on Windows Server

winget install Python.Python.3.12          # or download from python.org
python -m venv C:\bots\venv
C:\bots\venv\Scripts\Activate.ps1
pip install playwright
playwright install chromium

A minimal script:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page()
    page.goto("https://example.com/dashboard")
    page.screenshot(path="C:/bots/out/dashboard.png", full_page=True)
    browser.close()

See Chocolatey and winget on Windows Server.

Headless vs headed

  • Headless (no visible window): lower resource use, and runs without a desktop session. It’s the best choice for scheduled jobs.
  • Headed (a visible browser): needed for some RPA tools, debugging, or sites that behave differently. It requires an interactive desktop session.

Keep it running after you close RDP

When you disconnect an RDP session, the session (and its programs) keeps running. When you sign out, everything in it closes. So:

  • for headed automation, disconnect (don’t sign out). Avoid session time limits that log off disconnected sessions. See RDP multiple sessions;
  • minimised RDP windows can stop rendering on the client side, which breaks some GUI automation (image-based clicks). Use headless mode, or keep the window open;
  • for unattended runs after a reboot, configure an automatic logon for a dedicated user (with care), or use headless tasks under Task Scheduler.

Scheduling

Use Task Scheduler for recurring runs:

$action  = New-ScheduledTaskAction -Execute "C:\bots\venv\Scripts\python.exe" -Argument "C:\bots\report.py"
$trigger = New-ScheduledTaskTrigger -Daily -At 6:00
Register-ScheduledTask -TaskName "Daily report" -Action $action -Trigger $trigger -User "botuser" -Password "…" -RunLevel Limited

“Run whether user is logged on or not” works for headless jobs. Headed browsers need “Run only when user is logged on”. See Windows scheduled tasks with PowerShell.

Sizing

Each browser instance uses roughly 300 MB–1 GB of RAM, depending on the pages. Windows itself needs 2+ GB.

Workload Suggested VPS
1–2 headless browsers, scheduled jobs 2 vCPU, 4 GB RAM
3–5 concurrent browsers 4 vCPU, 8 GB RAM
Many parallel sessions 8 vCPU, 16 GB+ RAM, or split across servers

Windows plans need at least 50 GB of disk on VPS.DO. See Windows VPS.

Reliability tips

  • Use explicit waits (Playwright auto-waits), and stable selectors (data-testid), not brittle XPaths.
  • Log every run, save screenshots on failure, and alert yourself on errors.
  • Clean up: close browsers, and delete temporary profiles and downloads, so disk and memory don’t fill up. See Windows disk cleanup.
  • Store credentials in Windows Credential Manager or environment variables, not in scripts.

Linux alternative

Headless Playwright or Selenium runs just as well (and lighter) on a Linux VPS. Use Windows when you need Windows-only apps, Edge with specific policies, or desktop RPA. See web scraping on a VPS.

Quick reference

Need Approach
Scheduled, no UI Headless Playwright + Task Scheduler
Visible browser / RPA Disconnected RDP session, no sign-out
Install pip install playwright && playwright install chromium
RAM per browser ~0.3–1 GB

Related: PowerShell basics and Windows Server performance tuning.

  • Automation
  • Windows VPS
  • Python