Getting Started

Selenium Driver Setup (Optional)

GPAL works out of the box with PuppeteerPort, its default engine. No driver needed. This page only applies if you choose a Selenium-based engine, which requires a WebDriver binary matching your installed browser version.

Only Needed for Selenium-Based Engines

PuppeteerPort and OttoMagic do not use WebDriver, so most workflows need none of this. If you switch to a Selenium-based engine (Selenium, SeleniumJS, SeleniumHW), GPAL needs a WebDriver executable -- chromedriver.exe, msedgedriver.exe, or geckodriver.exe -- matching your installed browser version. By default, GPAL looks for it in the same directory as your executable.

Automatic vs Manual

GPAL can automatically download and unzip the correct WebDriver for your browser version using WithAutoUpdateWebDriver. Alternatively, download drivers manually. In both cases, point GPAL to their location with WithDriverLocation at the global or per-browser level.

// Auto-download matching driver on startup

GPAL.WithAutoUpdateWebDriver(true);

// Specify location manually - global

GPAL.WithDriverLocation(@"C:gpaldrivers");

// Override per browser instance

var browser = GPAL.Browser

.WithBrowserType(BrowserType.Chrome)

.WithDriverLocation(@"C:customdrivers")

.ToGPALObject();

TIP

Driver setup only applies to Selenium-based engines. OttoMagic uses a browser extension and GPALRestAPI. Puppeteer communicates directly via Chrome DevTools Protocol (using SDi's custom implementation).

Driver Location Resolution

GPAL resolves the driver location in this order: per-browser setting, global GPAL setting, GPAL.yaml file, then the executable directory. The first location containing a matching driver is used.

WARNING

When Chrome or Edge auto-updates, the existing driver may no longer match. Use WithAutoUpdateWebDriver(true) or update your driver manually after a browser update.