0
0
Selenium-pythonHow-ToBeginner · 4 min read

How to Set Chrome Options in Selenium for Browser Automation

To set Chrome options in Selenium, create a ChromeOptions object, configure desired settings like headless mode or window size, then pass it to the ChromeDriver constructor. This lets you customize Chrome browser behavior during automation.
📐

Syntax

Use the ChromeOptions class to set browser preferences. Then pass the options object to the ChromeDriver constructor.

Key parts:

  • ChromeOptions options = new ChromeOptions(); - creates options object
  • options.addArguments("--headless"); - adds a command line argument
  • WebDriver driver = new ChromeDriver(options); - starts Chrome with options
java
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class Main {
    public static void main(String[] args) {
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--headless");
        WebDriver driver = new ChromeDriver(options);
    }
}
💻

Example

This example shows how to launch Chrome in headless mode and set a custom window size using Selenium.

java
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class ChromeOptionsExample {
    public static void main(String[] args) {
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--headless");
        options.addArguments("--window-size=1200,800");

        WebDriver driver = new ChromeDriver(options);
        driver.get("https://www.example.com");

        System.out.println("Title: " + driver.getTitle());

        driver.quit();
    }
}
Output
Title: Example Domain
⚠️

Common Pitfalls

Common mistakes when setting Chrome options include:

  • Not passing the ChromeOptions object to the ChromeDriver constructor, so options are ignored.
  • Using incorrect argument syntax, like missing dashes (e.g., "headless" instead of "--headless").
  • Forgetting to set the correct path for the ChromeDriver executable if not in system PATH.
java
/* Wrong way: options created but not used */
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
WebDriver driver = new ChromeDriver(); // options not passed, so ignored

/* Right way: pass options to driver */
WebDriver driver = new ChromeDriver(options);
📊

Quick Reference

OptionDescriptionExample
--headlessRun Chrome without UIoptions.addArguments("--headless");
--window-size=width,heightSet browser window sizeoptions.addArguments("--window-size=1200,800");
--disable-gpuDisable GPU hardware accelerationoptions.addArguments("--disable-gpu");
--incognitoOpen Chrome in incognito modeoptions.addArguments("--incognito");
setExperimentalOptionSet experimental options like prefsoptions.setExperimentalOption("prefs", prefsMap);

Key Takeaways

Create a ChromeOptions object to customize Chrome browser settings in Selenium.
Always pass the ChromeOptions object to the ChromeDriver constructor to apply settings.
Use addArguments with double dashes (e.g., "--headless") for command line options.
Common options include headless mode, window size, and disabling GPU.
Check ChromeDriver path setup if browser does not launch.