Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
World desk7 min

Web Scraping with Selenium and Java: A Practical Guide

A practical Java guide to Selenium scraping: Maven setup, WebDriver code, reliable waits and locators, extraction checks, local versus remote execution, and troubleshooting.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use Selenium with Java when you need a real browser to render a page or interact with it before collecting data. A basic workflow is to start ChromeDriver, open the page, wait for the specific content you need, read text or attributes, validate the result, and close the browser with quit(). First check that the target site permits your planned collection: public visibility alone is not permission, and some sites prohibit scraping or block Selenium.

When Selenium is the right tool

Selenium WebDriver controls a browser through language bindings and browser-specific implementations; Selenium describes WebDriver as a W3C Recommendation. It can drive a browser on your computer or a remote browser through Selenium Server. For a small script, local execution is the simplest starting point. Remote execution becomes relevant when your infrastructure calls for a browser on another machine or a distributed browser setup.

Use a documented API or permitted export instead when it provides the data you need. A browser adds setup and operational work, and these sources do not establish a general speed comparison between Selenium and ordinary HTTP clients. Selenium’s own guidance says to check site terms because some websites prohibit scraping and others block Selenium: Selenium documentation on discouraged practices.

Set up Selenium for Java

Add Selenium’s Java binding to a Maven project. The official installation guide demonstrates the org.seleniumhq.selenium:selenium-java artifact; consult the live guide for a current version rather than carrying forward an old version number: Selenium Java installation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • 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.
<dependency>
  <groupId>org.seleniumhq.selenium</groupId>
  <artifactId>selenium-java</artifactId>
  <version>CURRENT_VERSION_FROM_SELENIUM_DOCS</version>
</dependency>

Replace CURRENT_VERSION_FROM_SELENIUM_DOCS with the version shown in Selenium’s current installation documentation. Selenium Manager is bundled with Selenium releases and can discover and manage missing drivers. Selenium documents its availability in releases starting with 4.6 and automated browser management as of 4.11.0; consult its driver documentation for current behavior and compatibility: Selenium Manager.

A maintainable scrape workflow

The example below is a template for a page you are permitted to collect from. Change the URL, CSS selector, and expected content to match that page’s DOM. The selector is deliberately a named example, not a claim that it exists on any particular live site.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 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.
import java.time.Duration;
import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class ScrapePage {
    public static void main(String[] args) {
        WebDriver driver = new ChromeDriver();
        try {
            driver.get("https://example.com/permitted-page");

            WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
            By results = By.cssSelector(".result-card");
            wait.until(ExpectedConditions.visibilityOfElementLocated(results));

            List<WebElement> cards = driver.findElements(results);
            if (cards.isEmpty()) {
                throw new IllegalStateException("No result cards found");
            }

            for (WebElement card : cards) {
                String text = card.getText().trim();
                if (text.isEmpty()) {
                    continue;
                }
                System.out.println(text);
            }
        } finally {
            driver.quit();
        }
    }
}
  1. Start a browser session. new ChromeDriver() creates the WebDriver session. Selenium Manager can handle driver discovery in supported configurations, so a separate driver-manager dependency is not required for this basic workflow.
  2. Navigate. driver.get(url) opens the target. Page navigation reaching its load state does not guarantee that JavaScript has finished inserting the specific data your script needs.
  3. Wait for the needed condition. The example waits until the results container is visible, for up to ten seconds. Choose a condition that represents usable content, not simply a fixed pause.
  4. Find and read elements. findElements returns the matching elements. Read the relevant text or attribute, then validate that the value is present and has a plausible shape before storing it.
  5. Close the session even on failure. The finally block ensures driver.quit() runs if navigation, waiting, or extraction throws an exception.

Choose locators that match the page

Selenium supports locator strategies including ID, name, CSS selector, class name, and link text. Prefer an identifier or selector tied to meaningful page structure, and inspect the DOM to confirm it points to the content you intend to collect. A locator is only as stable as the markup it depends on; avoid relying on an element’s position in a long list when a meaningful attribute or container is available.

By.id("product-name");
By.name("search");
By.cssSelector(".result-card h2");
By.className("price");
By.linkText("Next page");

Use findElement when one match is expected; it raises an exception if none exists. Use findElements when zero or more matches are valid, then check the returned list before using it. Selenium’s locator and element documentation describes the available strategies: Selenium WebDriver elements.

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.
Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • 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.

Wait for dynamic content without timing guesswork

Client-side rendering can create a race: WebDriver reaches the page, but the application has not yet added or updated the result element. An explicit wait polls for a condition such as visibility, presence, or clickability. Pick the condition that matches the next operation. For reading content, waiting for a results container to become visible is often more useful than waiting a fixed number of seconds.

Avoid mixing implicit and explicit waits. Selenium warns that combining them can produce unpredictable timeout durations. Set an explicit wait for the state your extraction depends on instead of adding an implicit wait as a second timing policy. See Selenium waiting strategies for the current conditions and guidance.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • 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
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Extract, validate, and handle changes

After locating the intended element, collect only the required text or attribute. For a link, for example, read its href; for a visible label, use getText(). Check for missing or empty values before writing them to a file or database. If the page’s structure changes, a selector may stop matching or begin identifying the wrong element, so treat extraction validation as part of the workflow rather than assuming a match is correct.

Keep collection within the site’s applicable terms and access rules. Do not use Selenium to bypass authentication boundaries, anti-bot protections, or rate limits. If a site blocks the browser or disallows scraping, stop and use an authorized API, export, or other permitted route.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 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.

Local browser or remote browser?

Approach Where the browser runs When it fits Trade-off
Local WebDriver On the machine running the Java program A small script or initial implementation Requires a compatible local browser environment.
Remote WebDriver On another machine through Selenium Server When infrastructure or distributed browser execution is needed Adds remote browser infrastructure to configure and operate.

Selenium documents both local browser control and remote control through Selenium Server in its WebDriver overview. The choice depends on where you need the browser to run; no general performance advantage is established here.

Troubleshooting common failures

  • Driver or browser startup fails: Check that the browser is installed and supported by your Selenium version. Review Selenium Manager’s current compatibility and diagnostics, and resolve environment or network restrictions that prevent driver discovery.
  • No such element: Verify the selector against the current DOM and confirm the element is on the page you opened. If JavaScript adds it later, wait explicitly for presence or visibility before locating or reading it.
  • Wait times out: Confirm that the expected state actually occurs for your page and that the selector is correct. A timeout can also mean the page did not load the expected content; do not respond by bypassing a block or repeatedly increasing delays without diagnosing the cause.
  • Text is empty or stale: The matched element may not contain the data, or the page may replace it after the initial render. Inspect the DOM and wait for the relevant content state before extracting; validate values before storing them.
  • Results differ between runs: The page may render asynchronously or change its markup. Use a condition tied to the data, check selectors against the current page structure, and keep the collection volume and access method within the site’s rules.
  • The site blocks Selenium: Selenium acknowledges that some sites block browser automation. Do not evade anti-bot controls; check the site’s terms and use an authorized alternative.

Or skip the browser setup

If your goal is a screenshot or PDF rather than extracting structured page data, ScreenshotNeo provides a one-request screenshot API; it is not a replacement for DOM-based scraping. Its API accepts one GET request with a URL and can return PNG, JPEG, WebP, or PDF. See ScreenshotNeo and the API documentation.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp

ScreenshotNeo accepts cookie and consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Yearly billing gives two months free, and every feature is on every plan.

Sign up free for 1,000 screenshots a month, with no card required.

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

Frequently Asked Questions

Can Selenium scrape a website that requires a login?

Only if you are authorized to access and collect the data under the site’s applicable terms and rules. Do not cross authentication boundaries or use automation to evade access controls.

Does Selenium guarantee a page’s data will be available after navigation?

No. Navigation and client-side rendering are separate timing events; wait for the content condition your extraction needs.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

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.

More from the Wire

  1. Shenzhen desk3 min
    HONOR Expands Beyond Smartphones With Humanoid Robot RevealHONOR said it unveiled its first humanoid robot at MWC 2026 and named shopping assistance, workplace inspections, and supportive companionship as intended uses. Later Robotics D1 claims and a reported…
  2. Cupertino desk5 min
    Apple Unveils AirPods Max 2: The Upgrade That Should Have Happened Years AgoAirPods Max 2 adds H2-powered audio features and Apple claims up to 1.5× more effective ANC, but its design, Smart Case, and 20-hour battery rating are unchanged. Wired lossless audio…
  3. Cupertino desk4 min
    Apple’s OLED Touch MacBooks Are Coming—but the Dynamic Island Is the Real GambleApple has not announced an OLED touchscreen MacBook, but reports point to high-end models arriving in late 2026 or early 2027. The reported Mac Dynamic Island could be useful, but…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.