To measure a Selenium navigation, start a monotonic timer immediately before driver.get(url) and stop it as soon as the call returns. That gives you the duration of the WebDriver navigation call under the browser’s configured page-load strategy—not a universal measure of when every part of a modern web app is ready. For browser-reported document milestones, use the Navigation Timing API; for a usable app workflow, time an explicit condition such as a target element becoming visible.
Choose what “page load time” means
These measurements answer different questions, so report the method and event rather than publishing an unlabeled “load time.”
| Method | What it measures | Best use | Main caveat |
|---|---|---|---|
Monotonic clock around driver.get() |
Elapsed time for the WebDriver navigation call under the selected page-load strategy | A simple, repeatable navigation measurement | Includes WebDriver/browser coordination; the strategy changes when the call returns |
| Navigation Timing API | Browser timestamps for the current document navigation | Document-level milestones and intervals | Does not automatically measure later application readiness |
| Explicit wait for an app condition | Time until a chosen element or state is usable | Dynamic pages and user-workflow readiness | The condition must represent the outcome users need |
| ChromeDriver performance logs or tracing | Browser Timeline, Network, Page events, and trace data | Diagnosing contributors to a slow navigation | Must be enabled; tracing adds overhead and its buffer can fill |
| Chrome DevTools Performance recording | CPU/runtime profile | Investigating runtime bottlenecks after a slow result | A diagnostic profile, not a single page-load duration |
Measure the WebDriver navigation duration
Use a monotonic clock so that system clock adjustments do not distort the elapsed duration. This Python example reports the time spent in driver.get() in milliseconds. It assumes Selenium and a compatible browser driver are installed and configured.
from time import perf_counter
from selenium import webdriver
url = "https://example.com"
driver = webdriver.Chrome()
try:
start = perf_counter()
driver.get(url)
elapsed_ms = (perf_counter() - start) * 1000
print(f"driver.get() duration: {elapsed_ms:.1f} ms")
finally:
driver.quit()
The result is the duration of the WebDriver call under the session’s page-load strategy. Selenium’s default normal strategy waits for the document load event / complete state before returning. It does not guarantee that subsequent JavaScript-driven updates in a single-page application have finished. Include the browser, test environment, URL, and page-load strategy when comparing results.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
- Valued Carpenter Pencil Set: You will get 2 pcs solid carpenter pencils with 26 piece 2.8 mm refills, 1 replaceable sharpener, 1 plastic storage box.The complete carpenter pencils combination allows you to finish your work faster and more easily
- Deep Hole Marker Pencil: The deep-hole construction pencils adopts 45mm elongated tip design, which is more convenient to mark in the small hole or in other tight areas that other carpenter markers cannot reach
- Carpenter Pencils with Sharpener: The sharpener is screwed into the top of the work pencil, which won't get lost either. Built-in pencil sharpener that keep the lead with pointed and smooth to Improves line of sight in fine work
- Stronger Solid Lead: This work pencil is matched with a 2.8 mm thick lead , which is much thicker and stronger during the drawing process of construction work, it will not break or damage easily
- Marks on Various Surfaces: 3 colors solid construction pencil can marks on various surfaces,such as metal, plastic, wood, paper etc. Ideals for woodworkers, contractors, craftsmen, builders, merchants and masons
Change the page-load strategy deliberately
Selenium describes normal as waiting for the document to reach complete, eager as waiting for interactive / DOMContentLoaded, and none as not blocking on page load. Changing the strategy changes what the timer means; it is not a neutral way to make the same measurement faster. See Selenium browser options for the strategy behavior and browser-specific configuration.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.page_load_strategy = "eager" # "normal", "eager", or "none"
driver = webdriver.Chrome(options=options)
Use the same strategy across runs intended for comparison and state it with the result. With eager or none, the navigation call can return before the page’s full load event, so add a separate condition if the test needs a later milestone.
Rank #2
- Ergonomically Designed: Work in tight areas with a compact design that gets into tough spots
- Compact and Lightweight: Both tools are designed to fit into difficult to reach spaces. The 1/4" impact driver has a length of 5.55 in. and weighs just 2.8 lbs, while the 1/2" drill/driver measures only 7.5 in. and weighs 3.6 lbs
- Both the DEWALT impact driver and electric drill driver feature integrated LED work lights with a convenient 20-second delay, ensuring enhanced visibility in dimly lit or challenging work areas
- One-Handed Loading - Keep one hand free with a 1/4 in. hex chuck that accepts 1 in. bit tips
- Power drill cordless with 1/2" single sleeve ratcheting chuck provides tight bit gripping strength, making bit changes faster and more secure
Read browser navigation milestones
The Navigation Timing API exposes timestamps for the current document navigation. Read the entry after navigation and calculate the specific interval you need; do not treat it as interchangeable with wall-clock time around driver.get().
timing = driver.execute_script("""
const entry = performance.getEntriesByType('navigation')[0];
if (!entry) return null;
return {
startToDomContentLoadedMs: entry.domContentLoadedEventEnd - entry.startTime,
startToLoadEventMs: entry.loadEventEnd - entry.startTime,
responseStartToResponseEndMs: entry.responseEnd - entry.responseStart
};
""")
print(timing)
startToDomContentLoadedMs is the interval from the navigation entry’s start to the end of DOMContentLoaded. startToLoadEventMs runs from that start to the end of the load event. responseStartToResponseEndMs is the response interval between those browser timestamps. Label the interval you report and consult MDN’s Navigation Timing documentation for the browser API and its timestamps.
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 matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallRank #3
- 【Great Compatibility】This Katerk 1/4 inch hex shank bit holder is specifically designed for 1/4 inch hex shank drill bits. It's compatible with most 1/4 fast hex handles, hex sockets, various electric screwdrivers, and handheld screwdrivers. The bit holder makes it a valuable addition for any handyman.
- 【Secure and Safe】Built with a secure backup nut design, each drill bit holder securely locks onto your bits, ensuring they stay firmly in place. Additionally, our bit holder incorporates a high-quality steel ball rolling design that holds up to several kilograms of weight, ensuring your various drill bits don't fall off.
- 【Easy One-Handed Operation】The bit holder for impact driver allows you to change bits single-handedly, simplifying your workflow. Its multi-color design further allows for quick identification of the drill bit you need.
- 【Compact and Convenient】Thanks to its compact size, this 1/4 inch bit holder is easy to carry around. The bit holder allows for easy attachment to various tools, making this a convenient addition to your construction accessories. The Katerk bit holder is cast from high-quality alloy material, promising a long product lifespan. Despite its rugged strength, the bit holder remains lightweight, making it portable.
- 【Cool Christmas Gift For Men Stocking Stuffers】 This screwdriver bit holder, driver bit holder, impact bit holder, can be given as a gift to your loved one, especially for anyone involved in construction or electrical work. It's a must-have for stocking stuffers for men and women, tools gifts for dad, tech gadgets for men, gifts for dad, gifts for him, gifts for husband, gifts for boyfriend, cool gadgets for men, and cool gifts for dad.
Measure when a dynamic page is ready for a workflow
A document’s readyState is not proof that client-side rendering, data fetching, or other app work is complete. Pick an observable condition that corresponds to the user action the test is about—for example, a results panel appearing or a loading indicator disappearing—and record its time separately.
from time import perf_counter
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
start = perf_counter()
driver.get("https://example.com/search")
WebDriverWait(driver, 15).until(
EC.visibility_of_element_located((By.CSS_SELECTOR, "[data-testid='results']"))
)
workflow_ready_ms = (perf_counter() - start) * 1000
print(f"Search results visible: {workflow_ready_ms:.1f} ms")
The timeout is an example test limit, not a recommended page-load threshold. Choose a limit appropriate to the test and environment. Selenium notes that navigation commands wait for a strategy-dependent readyState, while dynamic content can still cause race conditions; an explicit wait for the relevant condition is the meaningful readiness check. See Selenium waiting strategies.
Rank #4
- Long Nib and Deep Hole Marker: Our mechanical carpenter pencil with 45mm nib is designed for easy marking of deep holes or narrow areas. These construction pencils are the great choice for woodworking tools, construction tools, carpenter tools, contractor tools, wood carpentry tools and architect tools
- Extra Refills in 2 Colors for Versatile Marking: The construction mechanical pencil comes with 12 extra 2.8mm refills, including 6 red and 6 black refills. The black refill is suitable for light surfaces, while the red wax is perfect for dark surfaces. Our carpenter mechanical pencil makes sure that you'll have an ample supply for extended use
- Built-in Sharpener: Our construction pencil comes with a built-in sharpener to ensure the mechanical pencil tip is always sharp and ready for use. Never buy an extra pencil sharpener again. A great tool for any woodworker pencil, contractor pencils. The refill can easily be extended or retracted with a simple click of the pencils mechanical, allowing you to work more efficiently and accurately
- Portable Clip Design: Our deep hole construction pencil features a portable clip design, easy to carry and attach to your pocket or tool box, so that you can keep the carpenter pencils mechanical close at hand, making it a convenient tool to have on the go. Great gifts choice for carpenters
- Stronger Pencil Lead: The black refills are made of lead, sturdy and smooth. The red refills are made of wax, clear and light. These marking pencils are much thicker and stronger than normal pencils during the marking process of construction work, suitable for various surfaces, such as glasses, metal, boards, floors, walls, furniture, etc. The written marks can be easily wiped with a wet paper towel when needed
Diagnose a slow result
Collect ChromeDriver performance events
ChromeDriver performance logging can collect Timeline, Network, and Page events when enabled for a new session; it is not enabled by default. Use it to investigate where time went, not as a substitute for a consistently defined navigation timer. Tracing can add overhead and its buffer can fill, so keep diagnostic tracing separate from lightweight timing runs and inspect logs for warnings or missing events.
Configuration details and limitations are documented in the ChromeDriver performance logging guide.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Best Value
- Milwaukee Ink all Fine Point Marker, Black, 4 Per Pack
- 4 per pack Features Clog Resistant Marker Tip Writes through Dusty, Wet and Oily Surfaces Durable Marker Tip for Writing on Concrete, OSB and Rough Surfaces
- Clog resistant tip writes on dusty, wet and oily surfaces and is optimized for rough surfaces such as OSB, cinderblock and concrete
- Hard hat clip- attaches for easy access
- Quick dry time with reduced smearing and marking
Record a DevTools runtime profile
After identifying a slow run, a Chrome DevTools Performance recording can help inspect CPU profiles and runtime bottlenecks. The profile provides diagnostic evidence about work in the browser; it is not itself the Selenium navigation duration. See the Chrome DevTools Performance panel documentation.
Make timing runs more useful
- Keep the page-load strategy, browser, driver, machine or remote execution environment, and test conditions consistent across comparisons.
- Separate lightweight timing runs from tracing or profiling, which can add overhead.
- Report which event or interval was timed—WebDriver call return, DOMContentLoaded, load event, or app condition—rather than calling all of them “page load.”
- Do not infer that later app activity is complete just because the document reached
complete. - No universal “good” load-time threshold follows from these browser APIs; set targets for the user outcome and environment your test represents.
Troubleshoot common measurement problems
- The timer looks much shorter than expected: Check whether the session uses
eagerornone. The navigation call may return before the load event. Report the strategy and add an explicit later milestone if needed. - The timer ends but the page is still changing: The measured event may be document readiness, not application readiness. Wait for the specific element or state needed by the workflow.
- The result varies widely between runs: Confirm that the same strategy, browser, environment, and timing endpoint are used, and avoid comparing tracing-enabled runs with lightweight runs.
- Navigation Timing returns no entry: Check that the script runs in the intended document after navigation and that a navigation entry is available; label missing data rather than substituting another interval silently.
- Performance log events are missing or warnings appear: Verify logging was enabled when creating the browser session. If tracing is active, check for buffer warnings or overflow and reduce diagnostic capture scope.
- An explicit wait times out: Confirm the selector matches the current page and that the chosen condition represents the actual ready state. A document load event alone does not guarantee a dynamic element will appear.
Or skip the browser setup
If the goal is a screenshot rather than a Selenium timing test, ScreenshotNeo is a website screenshot API and MCP server: one GET request can return a PNG, JPEG, WebP, or PDF. Its clean-shot flow accepts cookie/consent banners like a visitor and removes 60+ known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for AI agents using Claude, Cursor, or any MCP client. Free includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots.
Example cURL request (replace the URL as needed):
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for setup and response details. Sign up for 1,000 free screenshots a month with no card.
Frequently Asked Questions
Does Selenium measure network speed with driver.get()?
No. The elapsed call duration includes browser and WebDriver behavior under the configured strategy; it is not an isolated network-speed measurement.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsCan Selenium report a standard “good” page-load time?
There is no universal threshold established by these APIs. Define the user outcome, test environment, and event that your target is intended to represent.
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.

