Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

How do you run Selenium tests with ChromeDriver on a Linux VPS? Install Python and Selenium, make a supported Chrome or Chrome for Testing browser available, create a headless Chrome session, and always close it with quit(). In current Selenium releases, you usually do not need to download ChromeDriver yourself: Selenium Manager, included with Selenium since version 4.6, can detect the browser, obtain a compatible driver, and cache it locally. Manual driver installation remains useful when you need strict version pinning, offline deployments, or a custom browser path.

What Selenium, ChromeDriver and the VPS each do

Selenium is the client library that your test code calls. ChromeDriver is a separate executable that implements the WebDriver connection to Chrome. Selenium sends commands such as navigation, element lookup and clicks through WebDriver; ChromeDriver translates those commands for the installed Chrome browser. Google describes ChromeDriver as “a separate executable that Selenium WebDriver uses to control Chrome.”

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The VPS supplies the Linux operating system, CPU, memory, storage, network access and process permissions. A VPS normally has no graphical desktop, so Chrome must run in headless mode unless you deliberately provide a display server. Headless mode removes the need for an interactive screen while retaining normal browser automation APIs.

These components have separate failure points. Selenium can be installed correctly while the browser binary is absent. Chrome can be present while its shared libraries are missing. A driver can be executable but incompatible with the browser version. Treat the client library, browser, driver and VPS account as one deployment, and record each component when diagnosing a failure.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application:Upgraded attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.

Requirements before you install anything

  • SSH access and a user account: Run tests as the same unprivileged account used by your deployment or CI worker. This avoids a browser cache owned by root that another account cannot update.
  • A supported architecture: Linux x64 is documented by Selenium Manager. Newer Linux arm64 combinations are also supported, but browser-version limits apply. On an unsupported architecture, you may need to install a compatible browser and driver yourself and pass explicit paths.
  • Enough memory and shared memory: Chrome, the driver and your test processes compete for VPS memory. Leave headroom for parallel sessions rather than assuming that one lightweight test represents the whole workload.
  • SSH-independent execution: A test launched from a terminal should use the same environment, home directory and account as the scheduled job. Otherwise Selenium Manager may write its cache somewhere the job cannot read.
  • Outbound network access: Selenium Manager may contact vendor endpoints to discover and download browser or driver artifacts. Firewalls, egress rules and proxies must permit those requests, or you must provision the artifacts in advance.
  • A supported Chrome installation: Install Chrome or Chrome for Testing using your Linux image’s approved vendor or package procedure, or intentionally use Selenium Manager’s managed-browser capability.

Before running a full suite, establish which account owns the project, which account owns the browser cache, and where temporary files are created. A successful interactive test under one account does not validate a CI service that uses another account or home directory.

Choose how the browser and driver are supplied

Approach Compatibility Reproducibility and update control Network and maintenance implications
Selenium Manager with an existing Chrome Detects the browser and resolves a compatible driver when no driver is supplied. Convenient, but the resolved artifact can change as browser and Selenium releases change. Pin your Selenium and browser deployment when identical runs matter. Requires discovery/download access on first use; downloaded drivers are cached locally.
Manually pinned Chrome and ChromeDriver You control the exact pair and provide the driver path through a Selenium Service. Best for locked-down or audited builds, provided you update and test both components deliberately. You own artifact distribution, executable permissions and version-matching work.
Selenium Manager’s managed browser Selenium Manager can be configured to obtain a managed browser where the platform and release support it. Useful for isolated workers; configure browser and driver versions if your deployment requires a fixed combination. Needs initial downloads unless artifacts are mirrored or already cached; cache location, proxy and offline settings are configurable.

Selenium Manager’s default local cache is documented as ~/.cache/selenium. It also has settings for browser and driver versions, browser paths, driver paths, mirrors, proxies, offline operation, cache location and timeouts. Treat those settings as deployment configuration rather than relying on a developer workstation’s cache.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For a disposable, one-off VPS, Selenium Manager with a vendor-installed browser is usually the shortest path. For a long-lived worker, decide who approves browser updates and how a cache is rebuilt. For an isolated network, a managed browser or driver is useful only if the artifacts are mirrored, preloaded or otherwise available before offline mode is enabled.

Install Python and Selenium in an isolated environment

Use a virtual environment so the VPS’s operating-system Python packages do not determine which Selenium release your test receives.

  1. Connect to the VPS and make a directory for the test project.
  2. Ensure Python 3 and its virtual-environment support are installed by your Linux distribution’s package manager.
  3. Create and activate the environment, then install Selenium:
python3 -m venv .venv
. .venv/bin/activate
pip install -U selenium

For a repeatable CI image, record the Selenium version that passed your tests in your dependency lock or requirements file and install that exact version during deployment. A fresh pip install -U selenium is convenient for a trial but intentionally permits a newer client release on a later run.

Keep the activation step visible in your service or CI configuration. A shell that shows (.venv) and a scheduled job that invokes a different system Python are not equivalent. If the job does not activate the environment, call the virtual-environment interpreter explicitly so the intended Selenium package is used.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Make Chrome available on the VPS

Use a vendor-installed Chrome or Chrome for Testing build

Install a supported browser in the VPS image, then verify that the account running the tests can discover and execute it. The browser must be present before Selenium Manager can resolve a matching driver automatically. If your image uses a non-standard browser location, configure Selenium with that browser path rather than assuming it is on the default PATH.

Discovery should be tested under the actual CI account, not only under an administrator account. Check that the binary is readable and executable, that its dependent libraries are available, and that the process can create its temporary files. If you maintain more than one Chrome build, document which path is authoritative; otherwise Selenium Manager may inspect a different installation than the one you tested.

Use a managed browser

If you deliberately let Selenium Manager download a browser, configure its browser version, mirror, cache directory and network policy as part of the worker setup. In offline mode, populate the cache or provide local paths before the test starts; otherwise the first session can fail while trying to reach an external endpoint.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

Do not install several unrelated Chrome builds on the same worker without documenting which one the test is expected to use. Ambiguous discovery is a common reason for a driver that appears to be the wrong version. When changing browser generations, rebuild or rotate the cache instead of silently combining artifacts from separate image builds.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run your first headless Selenium test

This smoke test exercises browser startup, navigation, a result check and cleanup. It supplies no driver path, so Selenium Manager is the fallback.

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--headless")
driver = webdriver.Chrome(options=options)
try:
    driver.get("https://example.com")
    print(driver.title)
finally:
    driver.quit()
  1. Save the file, for example as smoke_test.py, while the virtual environment is active.
  2. Run it with python smoke_test.py.
  3. Confirm that it prints the page title and exits rather than leaving a Chrome process running.

webdriver.Chrome() creates the Chrome WebDriver session. The current Selenium Python API uses Selenium Manager to handle browser and driver installation when you have not supplied a driver yourself. The finally block is important: it calls quit() even when navigation or an assertion fails, releasing the browser, driver and associated resources.

Use a known, reachable URL for this first check and verify a concrete result such as a title. A process that starts and immediately exits without a navigation check does not prove that DNS, outbound HTTPS, page loading or WebDriver commands work. After the smoke test succeeds, add a small representative application test rather than jumping directly to the entire suite.

Use a manually pinned ChromeDriver when you need strict control

Manual pinning is appropriate for an offline build, a regulated environment, or a long-lived test fleet where an unexpected browser update would invalidate results. Place the approved driver on the image, make it executable by the test account and pass its path through a Selenium Service. The browser and driver versions must be a compatible pair.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

options = Options()
options.add_argument("--headless")
service = Service("/opt/test-tools/chromedriver")
driver = webdriver.Chrome(service=service, options=options)
try:
    driver.get("https://example.com")
    assert driver.title
finally:
    driver.quit()

Remove stale driver paths from old scripts when returning to Selenium Manager. Supplying an obsolete executable prevents the manager from resolving a newer compatible driver and can produce a misleading mismatch error.

Pinning does not remove maintenance; it moves maintenance into your image or provisioning process. When you update Chrome, update and test the matching driver deliberately, verify execute permissions, and record both versions in the build output. When you roll back, restore the pair together rather than changing only the driver.

Headless Chrome settings that matter on a VPS

Start without a graphical display

options.add_argument("--headless") is the essential setting for a VPS that has no graphical session. A “no display” or session-creation error usually means the option was omitted or the process is using a configuration intended for a desktop machine.

Specify a non-default browser path when necessary

If Chrome is installed outside the normal discovery locations, use Selenium’s Chrome options to identify the browser path, or configure the corresponding Selenium Manager browser-path setting. Keep that path in deployment configuration so a rebuild does not silently select another binary.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

Add only image-specific flags that you have justified

Minimal options are easier to secure and diagnose. Add an option only when the VPS image, browser build or security policy requires it, and record that choice in the deployment configuration. Avoid copying a large collection of flags from unrelated containers: an option that hides one error can change browser security or rendering behavior.

Keep the process account consistent

The browser, driver and Selenium Manager cache must all be readable and executable by the account that launches the test. Do not run the first setup as root and the subsequent CI job as an unprivileged user unless you deliberately fix ownership and permissions.

Diagnose the common ChromeDriver failures

“Driver not found” or an incompatible-driver message

  • Check which Chrome binary the test account can discover and whether it actually starts.
  • Remove an obsolete Service path or other manual driver setting if you want Selenium Manager to resolve the pair.
  • If you are pinning manually, verify that the browser and driver were released for compatible versions and that the executable bit is set.
  • Inspect the Selenium Manager cache and logs rather than downloading a random driver into the project directory.
  • Confirm that the Selenium process is using the intended virtual environment and account; a second Python installation may have a different Selenium Manager configuration and cache.

“No display” or session creation failure

Use the headless Chrome option on a machine without a graphical session. If headless mode is already enabled, check the exact session-creation message for a browser-path, permission or missing-library problem instead of treating every failure as a driver mismatch.

Missing shared libraries

Linux browser startup errors often name the library that cannot be loaded. Selenium documentation gives libatk-bridge2.0-0 as an example of a library that may need to be installed when Chrome for Testing cannot load. Install the package that provides the library named by your error, then retry; do not install an indiscriminate bundle without checking the diagnostic.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Proxy, firewall or DNS failures

Selenium Manager needs outbound access when it is discovering or downloading artifacts. Permit the required vendor endpoints, or configure its proxy setting; the documented SE_PROXY environment variable is one way to provide proxy information. In a restricted network, pre-populate the cache or use offline mode with explicit local browser and driver paths.

Separate an artifact-download failure from an application-network failure. Selenium Manager may need access before the browser starts, while the test itself may need access to your application after startup. Log both stages so a firewall rule is not misdiagnosed as a WebDriver problem.

Architecture mismatch

Confirm the VPS architecture before selecting browser artifacts. Linux x64 has documented support, while Linux arm64 support depends on the browser version. If the required combination is outside those limits, install a compatible local browser and driver and pass their paths explicitly, or move the worker to an architecture with supported artifacts.

Permission and ownership errors

Check execute permission on both browser and driver, read/write permission on the Selenium Manager cache, and ownership of temporary directories. A root-owned ~/.cache/selenium can cause a later CI account to report that an artifact is missing even though the file exists.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Intermittent crashes or abandoned sessions

  • Reduce the number of parallel browser sessions and compare memory use with the VPS’s available RAM.
  • Check the size and pressure of /dev/shm, which can affect browser processes on constrained images.
  • Capture Selenium and ChromeDriver logs for the failing run, including the browser and driver versions.
  • Ensure every test path closes its driver in a finally block so a previous failure does not consume resources needed by the next test.
  • Compare a failing parallel run with a single-session run. If one session is stable and several are not, investigate worker capacity and cleanup before changing driver versions.

Make the setup reproducible in CI

Build the worker deliberately

Install Python, Selenium, the selected browser and any Linux libraries in the image or provisioning script. Pin the Selenium client and the browser version that you validated. Decide whether Selenium Manager may download artifacts at runtime; if not, provide a driver path, a browser path or a prefilled cache.

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

Keep the browser-selection policy alongside the code. A documented vendor-installed path, managed-browser version, cache location and proxy policy makes a replacement VPS behave like the original worker. Without those settings, a fresh machine can select a different browser or attempt an unavailable download.

Separate one-off jobs from long-running workers

A one-off worker can download and cache a driver during its first session if outbound access is reliable. A long-running CI worker should have a documented update process, because a browser update can change the driver that Selenium Manager selects. Rotate or rebuild the cache when changing the browser rather than mixing artifacts from several image generations.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Log the information needed to reproduce a failure

Record the Selenium version, browser version, driver version, Linux architecture, selected binary paths and relevant Selenium Manager messages. Keep those records with the CI job so “it worked on another VPS” can be reduced to a concrete environment difference.

Control concurrency intentionally

Start with one session while validating the image. Increase parallelism only after measuring memory, shared-memory pressure and cleanup behavior on the actual VPS. Every worker should have a clear policy for failed sessions, cache ownership and process termination; otherwise one abandoned browser can affect later jobs.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Cost and capacity considerations

There is no universal VPS price for Selenium because the required plan depends on browser count, test duration, parallelism, storage and network policy. The practical capacity question is whether the selected VPS has enough memory and shared memory for the number of Chrome processes your CI job starts. Test with the same concurrency used in production, and choose a larger worker or fewer parallel sessions when the browser competes with the rest of the workload.

Budget for operational work as well as compute: pinned images require browser and driver update testing, while Selenium Manager requires reliable artifact discovery and cache management. Neither approach eliminates version, permission or library troubleshooting.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A practical decision checklist

  • Choose Selenium Manager when you want the simplest current setup and your worker can reach the required endpoints.
  • Choose manual pinning when offline operation, auditability or exact browser/driver reproducibility outweighs setup convenience.
  • Use headless mode when the VPS has no display server; add other Chrome options only for a documented requirement.
  • Prefer a supported x64 image when you want the broadest documented artifact compatibility; validate arm64 browser-version limits before committing to that architecture.
  • Always close sessions and monitor memory when running tests in parallel or on a persistent worker.
  • Keep account, cache and paths consistent between an SSH smoke test and the CI service.

What a successful smoke test proves—and what it does not

A title printed from https://example.com proves that this account could start the selected browser, establish a WebDriver connection, navigate and shut down cleanly. It does not prove that your application, authentication flow, downloads, JavaScript timing or parallel-session capacity works. Add a small representative test after the smoke test, then tune the worker using the same browser and concurrency settings that production CI will use.

FAQ

Do I still need to download ChromeDriver?

Usually not. Selenium Manager is shipped with Selenium releases from version 4.6 onward and can detect Chrome, resolve a compatible driver and cache it when your code does not supply one. Download and pin ChromeDriver yourself when you need offline operation, strict reproducibility, an audited artifact or a non-standard executable path.

How do I run Chrome headless on Ubuntu or another Linux VPS?

Install a supported Chrome or Chrome for Testing build, install Selenium in a Python virtual environment, add --headless to ChromeOptions, and create webdriver.Chrome(options=options). Use the exact error message to identify missing libraries, permissions or browser paths if startup still fails.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.

Where does Selenium Manager store its downloads?

The documented default cache is ~/.cache/selenium. The cache location is configurable. Ensure the account running CI can read and update it, and avoid creating it as root unless ownership is intentionally corrected.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Can Selenium Manager work without internet access?

It can be configured for offline operation, but the required browser and driver artifacts must already be available through a populated cache, a mirror or explicit local paths. If the worker starts empty and cannot reach vendor endpoints, the first session can fail before Chrome launches.

Why does ChromeDriver fail even though Chrome is installed?

Installation alone does not guarantee discoverability, executable permissions, compatible versions or available Linux libraries. Check the browser path used by the test account, remove stale manual driver paths, inspect Selenium Manager messages and verify the architecture and shared libraries named by the error.

Should I use Linux x64 or arm64 for the VPS?

Linux x64 has documented Selenium Manager support. Linux arm64 support is available for newer combinations but is subject to browser-version limits. Select arm64 only after validating the exact browser and driver artifacts you intend to deploy; otherwise use a supported x64 image or provide compatible local binaries explicitly.

What should I log when a CI run fails?

Keep the Selenium, browser and driver versions, Linux architecture, browser and driver paths, Selenium Manager messages, proxy or offline settings, and the account and cache location. Those details distinguish a version mismatch from a permission, network, library or capacity problem.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Do I still need to download ChromeDriver?

Usually not. Selenium Manager, included with Selenium since version 4.6, can resolve and cache a compatible driver. Manual downloads are useful for offline, audited or strictly pinned deployments.

How do I run Chrome headless on a Linux VPS?

Install a supported Chrome build, add --headless to ChromeOptions, create webdriver.Chrome(options=options), and always call quit() in cleanup.

Why does ChromeDriver fail when Chrome is installed?

Check browser discoverability, compatible versions, executable permissions, Linux shared libraries, architecture, proxy access and any stale manual driver path.

Can Selenium Manager work offline?

Yes, when offline mode is configured and the required browser and driver are already in a cache, mirror or explicit local paths.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The Bottom Line

For most Linux VPS deployments, install Selenium in a virtual environment, provide a supported Chrome build, run it with --headless, and let Selenium Manager resolve ChromeDriver. Pin both browser and driver when reproducibility or offline operation matters, keep cache ownership consistent, and always close every WebDriver session.

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.