Need help with selenium-powershell?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

282 Stars 66 Forks MIT License 455 Commits 13 Opened issues


PowerShell module to run a Selenium WebDriver.

Services available


Need anything else?

Contributors list

Selenium PowerShell Module

The Selenium PowerShell module allows you to automate browser interaction using the Selenium API. You can navigate to pages, find elements, click buttons, enter text and even take screenshots.

Looking for Maintainers

I haven't been able to able to keep up with the issues on this repo. If you are interested in becoming a maintainer, please let me know. - Adam


  • Wraps the C# WebDriver for Selenium
  • Easily execute web-based tests
  • Works well with Pester

Build Status


Note: Firefox's Latest Gecko Driver on Windows requires Microsoft Visual Studio Redistributables for the binary to run get them
Install-Module Selenium


Import-Module "{FullPath}\selenium-powershell\Selenium.psd1"


Note: in order to use a specific driver you will need to have the brower of the driver installed on your system.
For example if you use Start-SeChrome you will need to have either a Chrome or Chromium browser installed

Start a Browser Driver

# Start a driver for a browser of your choise (Chrome/Firefox/Edge/InternetExplorer)
# To start a Firefox Driver
$Driver = Start-SeFirefox 

To start a Chrome Driver

$Driver = Start-SeChrome

To start an Edge Driver

$Driver = Start-SeEdge

Navigate to a URL

$Driver = Start-SeFirefox 
Enter-SeUrl -Driver $Driver

Find an Element

$Driver = Start-SeFirefox 
Enter-SeUrl -Driver $Driver
$Element = Find-SeElement -Driver $Driver -Id "myControl"

Click on an Element/Button

$Driver = Start-SeFirefox 
Enter-SeUrl -Driver $Driver
$Element = Find-SeElement -Driver $Driver -Id "btnSend"
Invoke-SeClick -Element $Element

Send Keystrokes

$Driver = Start-SeFirefox 
Enter-SeUrl -Driver $Driver
$Element = Find-SeElement -Driver $Driver -Id "txtEmail"
Send-SeKeys -Element $Element -Keys "[email protected]"

Run Chrome with options

# Run Chrome in Headless mode 
$Driver = Start-SeChrome -Headless

Run Chrome in incognito mode

$Driver = Start-SeChrome -Incognito

Run Chrome with alternative download folder

$Driver = Start-SeChrome -DefaultDownloadPath C:\Temp

Run Chrome and go to a URL in one command

$Driver = Start-SeChrome -StartURL ''

Run Chrome with multiple Arguments

$Driver = Start-SeChrome -Arguments @('Incognito','start-maximized')

Run Chrome with an existing profile.

The default profile paths are as follows:

Windows: C:\Users<username>\AppData\Local\Google\Chrome\User Data

Linux: /home//.config/google-chrome

MacOS: /Users//Library/Application Support/Google/Chrome

$Driver = Start-SeChrome -ProfileDirectoryPath '/home//.config/google-chrome'

Find and Wait for an element

$Driver = Start-SeChrome
Enter-SeUrl '' -Driver $Driver

Please note that with the -Wait parameter only one element can be returned at a time.

Find-SeElement -Driver $d -Wait -Timeout 10 -Css input[name='q'] Find-SeElement -Driver $d -Wait -Timeout 10 -Name q


We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.