DotNetSeleniumWebDriverExtras.PageObjects
4.48.1
dotnet add package DotNetSeleniumWebDriverExtras.PageObjects --version 4.48.1
NuGet\Install-Package DotNetSeleniumWebDriverExtras.PageObjects -Version 4.48.1
<PackageReference Include="DotNetSeleniumWebDriverExtras.PageObjects" Version="4.48.1" />
<PackageVersion Include="DotNetSeleniumWebDriverExtras.PageObjects" Version="4.48.1" />
<PackageReference Include="DotNetSeleniumWebDriverExtras.PageObjects" />
paket add DotNetSeleniumWebDriverExtras.PageObjects --version 4.48.1
#r "nuget: DotNetSeleniumWebDriverExtras.PageObjects, 4.48.1"
#:package DotNetSeleniumWebDriverExtras.PageObjects@4.48.1
#addin nuget:?package=DotNetSeleniumWebDriverExtras.PageObjects&version=4.48.1
#tool nuget:?package=DotNetSeleniumWebDriverExtras.PageObjects&version=4.48.1
DotNetSeleniumWebDriverExtras
Extra utilities for use with the Selenium .NET language bindings — a maintained fork of DotNetSeleniumTools/DotNetSeleniumExtras, rebuilt against modern Selenium.WebDriver.
Why this fork exists
The original DotNetSeleniumExtras packages (DotNetSeleniumExtras.WaitHelpers and
DotNetSeleniumExtras.PageObjects) preserve the ExpectedConditions and PageFactory implementations that
were removed from the Selenium project itself. That repository has been unmaintained since 2018 and
explicitly isn't accepting issues or pull requests, so its packages are still compiled against Selenium's
old WebDriver/WebDriver.Support assemblies.
A later Selenium 4.x release renamed and strong-signed those core assemblies to
Selenium.WebDriver/Selenium.Support. That's a binary-breaking change for anything still referencing the
old assembly names — including the original DotNetSeleniumExtras packages, which can no longer be used
alongside current Selenium.WebDriver versions.
This fork is the same Apache-2.0 source, retargeted and recompiled against current Selenium.WebDriver. No API or namespace changes — see Migrating from DotNetSeleniumExtras below.
Packages
| Package | Provides | Install |
|---|---|---|
| DotNetSeleniumWebDriverExtras.WaitHelpers | ExpectedConditions for use with WebDriverWait |
dotnet add package DotNetSeleniumWebDriverExtras.WaitHelpers |
| DotNetSeleniumWebDriverExtras.PageObjects | PageFactory and [FindsBy] page-object support |
dotnet add package DotNetSeleniumWebDriverExtras.PageObjects |
Both target net462 and netstandard2.0.
Usage
WaitHelpers
using SeleniumExtras.WaitHelpers;
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement element = wait.Until(ExpectedConditions.ElementIsVisible(By.Id("myElement")));
PageObjects
using SeleniumExtras.PageObjects;
public class LoginPage
{
[FindsBy(How = How.Id, Using = "username")]
private IWebElement UsernameField { get; set; }
public LoginPage(IWebDriver driver) => PageFactory.InitElements(driver, this);
}
Migrating from DotNetSeleniumExtras
Uninstall the old package, install the new one — no source changes required. Assembly names, root
namespaces, and public APIs (SeleniumExtras.WaitHelpers.ExpectedConditions,
SeleniumExtras.PageObjects.PageFactory, etc.) are unchanged, so existing using statements keep working.
dotnet remove package DotNetSeleniumExtras.WaitHelpers
dotnet add package DotNetSeleniumWebDriverExtras.WaitHelpers
Versioning
<selenium-major>.<selenium-minor>.<fork-patch> — the major/minor version tracks the Selenium.WebDriver
line each build targets; the patch number is this fork's own and increments independently for fixes that
don't correspond to a Selenium bump.
License
Apache License 2.0 — see LICENSE. Copyright 2018, Software Freedom Conservancy (original code); fork maintained by jancit.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- Selenium.WebDriver (>= 4.48.0)
-
.NETStandard 2.0
- Selenium.WebDriver (>= 4.48.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.