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

adamdriscoll
322 Stars 75 Forks MIT License 460 Commits 16 Opened issues

Description

PowerShell module to run a Selenium WebDriver.

Services available

!
?

Need anything else?

Contributors list

# 275,194
C#
CSS
seleniu...
323 commits
# 75,794
C#
guides
C
netcore
39 commits
# 252,228
seleniu...
Python
tpm
efi
38 commits
# 304,686
CSS
seleniu...
C#
active-...
3 commits
# 117,738
C#
HTML
active-...
Windows
3 commits
# 18,936
C#
Windows
Linux
windows...
2 commits
# 710,736
seleniu...
2 commits
# 235,484
e2e
HTML
reactjs
Shell
1 commit
# 714,025
seleniu...
CSS
Shell
HTML
1 commit
# 137,765
vsts
C#
powersh...
seleniu...
1 commit
# 734,975
seleniu...
1 commit
# 35,523
C
flex
seleniu...
node
1 commit
# 76,015
Objecti...
CSS
guacamo...
Ubuntu
1 commit
# 156,839
Markdow...
ansi-co...
python3
seleniu...
1 commit

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

About

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

Build Status

Installation

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

OR

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

Usage

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 https://www.poshud.com -Driver $Driver

Find an Element

$Driver = Start-SeFirefox 
Enter-SeUrl https://www.poshud.com -Driver $Driver
$Element = Find-SeElement -Driver $Driver -Id "myControl"

Click on an Element/Button

$Driver = Start-SeFirefox 
Enter-SeUrl https://www.poshud.com -Driver $Driver
$Element = Find-SeElement -Driver $Driver -Id "btnSend"
Invoke-SeClick -Element $Element

Send Keystrokes

$Driver = Start-SeFirefox 
Enter-SeUrl https://www.poshud.com -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 'https://www.google.com/ncr'

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 'https://www.google.com/ncr' -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

Maintainers

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.