The Selenium PowerShell eXtensions project is a port of the well-known Selenium WebDriver framework to PowerShell.
| Functionality | Implemented as | Unit test | Sample |
| start FF | Start-SeFirefox | + | + |
| start Chrome | Start-SeChrome | + | + |
| start IE 32-bit | Start-SeInternetExplorer32 | + | - |
| start IE 64-bit | Start-SeInternetExplorer64 | + | - |
| start HTMLDriver | Start-SeHTMLDriver | - | - |
| stop FF | Stop-SeFirefox | + | + |
| stop Chrome | Stop-SeChrome | + | + |
| stop IE | Stop-SeInternetExplorer | + | + |
| stop HTMLDriver | Stop-SeHTMLDriver | - | - |
| select a driver | Select-SeWebDriver -InstanceName | - | - |
| reset test data | [SePSX.CurrentData]::ResetData() | in progress | - |
| reset test data | Reset-SeTestData | in progress | - |
| driver.navigate().goToURL(string) | Enter-SeURL -URL | + | + |
| driver.navigate().forward() | Invoke-SeNavigateForward | + | - |
| driver.navigate().back() | Invoke-SeNavigateBack | + | - |
| driver.navigate().refresh() | Invoke-SePageRefresh | + | - |
| driver.switchto().window(string) | Switch-SeToWindow -WindowName | in progress | - |
| driver.switchto().alert() | Switch-SeToAlert | + | - |
| driver.switchto().activeElement() | Switch-SeToActiveElement | in progress | - |
| driver.switchto().defaultContent() | Switch-SeToDefaultContent | + | - |
| driver.switchto().frame(int) | Switch-SeToFrame -FrameName | + | - |
| driver.switchto().frame(string) | Switch-SeToFrame -FrameIndex | in progress | - |
| driver.switchto().frame(IWebElement) | Switch-SeToFrame -FrameElement | in progress | - |
| driver.close() | Close-SeWebDriverWindow | in progress | - |
| driver.manage().Cookies | Get-SeWebDriverCookies | in progress | - |
| driver.manage().Window | Get-SeWebDriverWindow | in progress | - |
| driver -> handle of the main window | Read-SeWebDriverNativeWindowHandle -MainWindowHandle | in progress | - |
| driver -> handles of all browser windows | Read-SeWebDriverNativeWindowHandle | in progress | - |
| driver.PageSource | Read-SeWebDriverPageSource | + | - |
| driver.Title | Read-SeWebDriverTitle | + | - |
| driver.Url | Read-SeWebDriverUrl | + | - |
| driver.manage().timeout(). ImplicitlyWait(System.TimeSpan) | Set-SeWebDriverTimeout -ImplicitlyWaitTimeout | in progress | - |
| driver.manage().timeout(). SetPageLoadTimeout(System.TimeSpan) | Set-SeWebDriverTimeout -PageLoadTimeout | in progress | - |
| driver.manage().timeout(). SetScriptTimeout(System.TimeSpan) | Set-SeWebDriverTimeout -ScriptTimeout | in progress | - |
| driver -> AutomationElement | ConvertTo-SeAutomationElement | in progress | - |
| findElement by.Id | Get-SeWebElement -Id -First | + | + |
| findElement by.ClassName | Get-SeWebElement -ClassName -First | + | - |
| findElement by.Name | Get-SeWebElement -Name -First | + | - |
| findElement by.TagName | Get-SeWebElement -TagName -First | + | - |
| findElement by.LinkText | Get-SeWebElement -LinkText -First | + | - |
| findElement by.PartialLinkText | Get-SeWebElement -PartialLinkText -First | + | - |
| findElement by.CSSValue | Get-SeWebElement -CssSelector -First | + | - |
| findElement by.XPath | Get-SeWebElement -XPath -First | + | - |
| findElement via JS | Get-SeWebElement -JavaScript -First | - | - |
| findElements by.Id | Get-SeWebElement -Id | + | - |
| findElements by.ClassName | Get-SeWebElement -ClassName | + | - |
| findElements by.Name | Get-SeWebElement -Name | - | - |
| findElements by.TagName | Get-SeWebElement -TagName | + | - |
| findElements by.LinkText | Get-SeWebElement -LinkText | + | - |
| findElements by.PartialLinkText | Get-SeWebElement -PartialLinkText | + | - |
| findElements by.CSSValue | Get-SeWebElement -CssSelector | - | - |
| findElements by.XPath | Get-SeWebElement -XPath | in progress | - |
| findElements via JS | Get-SeWebElement -JavaScript | - | - |
| element.getParent() | Get-SeWebElementParent | + | - |
| element.getAncestors() | Get-SeWebElementAncestors | + | - |
| element.Clear() | Clear-SeWebElement | + | - |
| element.Click() | Invoke-SeWebElementClick | + | - |
| element.CSSValue | Read-SeWebElementCSSValue | in progress | - |
| element.GetAtribute() | Read-SeWebElementAttribute -AttributeName | + | - |
| element.Displayed | Read-SeWebElementDisplayed | - | - |
| element.Displayed | Wait-SeWebElementIsDisplayed | in progress | - |
| element.Enabled | Read-SeWebElementEnabled | + | - |
| element.Enabled | Wait-SeWebElementIsEnabled | in progress | - |
| element.Location | Read-SeWebElementLocation | - | - |
| element.Selected | Read-SeWebElementSelected | in progress | - |
| element.Size | Read-SeWebElementSize | - | - |
| element.TagName | Read-SeWebElementTagName | + | - |
| element.Text | Read-SeWebElementText | in progress | - |
| element.SendKeys | Set-SeWebElementKeys | + | - |
| element.Submit() | Submit-SeWebElement | in progress | - |
| select.FirstSelected | Get-SeSelection -FirstSelected | + | - |
| select.Selected | Get-SeSelection -Selected | + | - |
| select.Options | Get-SeSelection -All | + | - |
| select.DeselectAll() | Set-SeSelection -All -Deselect | + | - |
| select all | Set-SeSelection -All | + | - |
| select.SelectByIndex(int) | Set-SeSelection -Index | + | - |
| select.DeselectByIndex(int) | Set-SeSelection -Index -Deselect | + | - |
| select.SelectByValue(string) | Set-SeSelection -Value | + | - |
| select.DeselectByValue(string) | Set-SeSelection -Value -Deselect | + | - |
| select.SelectByVisibleText(string) | Set-SeSelection -VisibleText | + | - |
| select.DeselectByVisibleText(string) | Set-SeSelection -VisibleText -Deselect | + | - |
| actions.MoveToElement(IWebElement) | Move-SeCursorToWebElement | in progress | - |
| actions.Click(IWebElement) | Invoke-SeWebElementClick -Single | in progress | - |
| actions.DoubleClick(IWebElement) | Invoke-SeWebElementClick -DoubleClick | in progress | - |
| actions.ClickAndHold(IWebElement) | Invoke-SeWebElementClick -Hold | in progress | - |
| actions.ContextClick(IWebElement) | Invoke-SeWebElementClick -Right | in progress | - |
| actions.Click() | Invoke-SeWebElementClick -Here | in progress | - |
| alert.Accept() | Invoke-SeAlertAccept | in progress | - |
| alert.Dismiss() | Invoke-SeAlertDismiss | in progress | - |
| alert.Text | Read-SeAlertText | in progress | - |
| alert.SendKeys(string) | Set-SeAlertKeys -Text | in progress | - |
| PageFactory.InitElements() | New-SePageObject | in progress | - |
| JavaScriptExecutor.Execute(sting, string[]) | Invoke-SeJSExecutor -ScriptCode -ArgumentList | in progress | - |
.