Selenium.WebDriver.ChromeDriver 84.0.4147.3000-beta

Install Chrome Driver (Win32, macOS, and Linux64) for Selenium WebDriver into your Unit Test Project.
     "chromedriver(.exe)" is copied to bin folder from package folder when the build process.
     NuGet package restoring ready, and no need to commit "chromedriver(.exe)" binary into source code control repository.
     / Selenium WebDriver用 Chrome Driver (Win32, macOS, 及び Linux64) を単体テストプロジェクトに追加します。
     "chromedriver(.exe)" はビルド時にパッケージフォルダから bin フォルダへコピーされます。
     NuGet パッケージの復元に対応済み、"chromedriver(.exe)" をソース管理リポジトリに登録する必要はありません。
     / The MSBuild script that contained this package is free and unencumbered software released into the public domain.
     / "chromedriver(.exe)" is licensed under the New BSD License.

This is a prerelease version of Selenium.WebDriver.ChromeDriver.
Install-Package Selenium.WebDriver.ChromeDriver -Version 84.0.4147.3000-beta
dotnet add package Selenium.WebDriver.ChromeDriver --version 84.0.4147.3000-beta
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="84.0.4147.3000-beta" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Selenium.WebDriver.ChromeDriver --version 84.0.4147.3000-beta
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

NuGet package - Selenium WebDriver ChromeDriver

NuGet Package NuGet Package NuGet Package

What's this?

This NuGet package installs Chrome Driver (Win32, macOS, and Linux64) for Selenium WebDriver into your Unit Test Project.

"chromedriver(.exe)" does not appear in Solution Explorer, but it is copied to the output folder from the package source folder when the build process.

NuGet package restoring ready, and no need to commit "chromedriver(.exe)" binary into source code control repository.

How to install?

For example, at the package manager console on Visual Studio, enter the following command.

If you are using Chrome version 84:

PM> Install-Package Selenium.WebDriver.ChromeDriver -Version 84.0.4147.3000-beta -IncludePrerelease

If you are using Chrome version 83:

PM> Install-Package Selenium.WebDriver.ChromeDriver -Version 83.0.4103.3910-beta -IncludePrerelease

If you are using Chrome version 81:

PM> Install-Package Selenium.WebDriver.ChromeDriver -Version 81.0.4044.13800

To learn what version of ChromeDriver you need to use, please see also the following page:

https://chromedriver.chromium.org/downloads/version-selection

Cross-platform building and publishing

By default - it depends on the OS running the build process

By default, the platform type of the web driver file copied to the output folder depends on the OS running the build process.

  • When you build the project which references the NuGet package of chromedriver on Windows OS, win32 version of chromedriver will be copied to the output folder.
  • When you build it on macOS, macOS x64 version of chromedriver will be copied to the output folder.
  • When you build it on any Linux distributions, Linux x64 version of chromedriver will be copied to the output folder.

Method 1 - Specify "Runtime Identifier"

When you specify the "Runtime Identifier (RID)" explicitly, the platform type of the driver file is the same to the RID which you specified. (it doesn't depends on the which OS to use for build process.)

You can specify RID as a MSBuild property in a project file,

<PropertyGroup>
  <RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>

or, as a command-line -r option for dotnet build command.

>  dotnet build -r:osx.10.12-x64
  • When the RID that starts with "win" is specified, win32 version of chromedriver will be copied to the output folder.
  • When the RID that starts with "osx" is specified, macOS x64 version of chromedriver will be copied to the output folder.
  • When the RID that starts with "linux" is specified, Linux x64 version of chromedriver will be copied to the output folder.

If you specify another pattern of RID like "ubuntu.18.04-x64", the platform type of the web driver file which will be copied to the output folder depends on the OS running the build process. (default behavior.)

Method 2 - Specify "WebDriverPlatform" msbuild property

You can control which platform version of chromedriver will be copied by specifying "WebDriverPlatform" MSBuild property.

"WebDriverPlatform" MSBuild property can take one of the following values:

  • "win32"
  • "mac64"
  • "linux64"

You can specify "WebDriverPlatform" MSBuild property in a project file,

<PropertyGroup>
  <WebDriverPlatform>win32</WebDriverPlatform>
</PropertyGroup>

or, command-line -p option for dotnet build command.

>  dotnet build -p:WebDriverPlatform=mac64

The specifying "WebDriverPlatform" MSBuild property is the highest priority method to control which platform version of the chromedriver will be copied.

If you run the following command on Windows OS,

>  dotnet build -r:ubuntu.18.04-x64 -p:WebDriverPlatform=mac64

The driver file of macOS x64 version will be copied to the output folder.

How to include the driver file into published files?

"chromedriver(.exe)" isn't included in published files on default configuration. This behavior is by design.

If you want to include "chromedriver(.exe)" into published files, please define _PUBLISH_CHROMEDRIVER compilation symbol.

define _PUBLISH_CHROMEDRIVER compilation symbol

Another way, you can define PublishChromeDriver property with value is "true" in MSBuild file (.csproj, .vbproj, etc...) to publish the driver file instead of define compilation symbol.

  <Project ...>
    ...
    <PropertyGroup>
      ...
      <PublishChromeDriver>true</PublishChromeDriver>
      ...
    </PropertyGroup>
...
</Project>

You can also define PublishChromeDriver property from the command line -p option for dotnet publish command.

>  dotnet publish -p:PublishChromeDriver=true
Note

PublishChromeDriver MSBuild property always override the condition of define _PUBLISH_CHROMEDRIVER compilation symbol or not. If you define PublishChromeDriver MSBuild property with false, then the driver file isn't included in publish files whenever define _PUBLISH_CHROMEDRIVER compilation symbol or not.

Appendix

The numbering of the package version

The rule of the version number of this package is:

chromedriver version MAJOR.MINOR.BUILD.PATCH + package version (2 digit)

For example, 2nd package release for the chromedriver ver.1.2.3.4, the package version is 1.2.3.4 + 021.2.3.402.

Sometime multiple packages for the same chromedriver version may be released by following example reasons.

  • Packaging miss. (the package included invalid version of the driver files)
  • Fixing bug of the build script, or improving the build script.

Where is chromedriver.exe saved to?

chromedriver(.exe) exists at
" {solution folder} /packages/Selenium.WebDriver.ChromeDriver. {ver} /driver/ {platform}"
folder.

 {Solution folder}/
  +-- packages/
  |   +-- Selenium.WebDriver.ChromeDriver.{version}/
  |       +-- driver/
  |       |   +-- win32
  |       |       +-- chromedriver.exe
  |       |   +-- mac64
  |       |       +-- chromedriver
  |       |   +-- linux64
  |       |       +-- chromedriver
  |       +-- build/
  +-- {project folder}/
      +-- bin/
          +-- Debug/
          |   +-- chromedriver(.exe) (copy from above by build process)
          +-- Release/
              +-- chromedriver(.exe) (copy from above by build process)

And package installer configure MSBuild task such as .csproj to
copy chromedriver(.exe) into the output folder during the build process.

License

The build script (.targets file) in this NuGet package is licensed under The Unlicense.

The binary files of ChromeDriver are licensed under the BSD-3-Clause.

NuGet package - Selenium WebDriver ChromeDriver

NuGet Package NuGet Package NuGet Package

What's this?

This NuGet package installs Chrome Driver (Win32, macOS, and Linux64) for Selenium WebDriver into your Unit Test Project.

"chromedriver(.exe)" does not appear in Solution Explorer, but it is copied to the output folder from the package source folder when the build process.

NuGet package restoring ready, and no need to commit "chromedriver(.exe)" binary into source code control repository.

How to install?

For example, at the package manager console on Visual Studio, enter the following command.

If you are using Chrome version 84:

PM> Install-Package Selenium.WebDriver.ChromeDriver -Version 84.0.4147.3000-beta -IncludePrerelease

If you are using Chrome version 83:

PM> Install-Package Selenium.WebDriver.ChromeDriver -Version 83.0.4103.3910-beta -IncludePrerelease

If you are using Chrome version 81:

PM> Install-Package Selenium.WebDriver.ChromeDriver -Version 81.0.4044.13800

To learn what version of ChromeDriver you need to use, please see also the following page:

https://chromedriver.chromium.org/downloads/version-selection

Cross-platform building and publishing

By default - it depends on the OS running the build process

By default, the platform type of the web driver file copied to the output folder depends on the OS running the build process.

  • When you build the project which references the NuGet package of chromedriver on Windows OS, win32 version of chromedriver will be copied to the output folder.
  • When you build it on macOS, macOS x64 version of chromedriver will be copied to the output folder.
  • When you build it on any Linux distributions, Linux x64 version of chromedriver will be copied to the output folder.

Method 1 - Specify "Runtime Identifier"

When you specify the "Runtime Identifier (RID)" explicitly, the platform type of the driver file is the same to the RID which you specified. (it doesn't depends on the which OS to use for build process.)

You can specify RID as a MSBuild property in a project file,

<PropertyGroup>
  <RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>

or, as a command-line -r option for dotnet build command.

>  dotnet build -r:osx.10.12-x64
  • When the RID that starts with "win" is specified, win32 version of chromedriver will be copied to the output folder.
  • When the RID that starts with "osx" is specified, macOS x64 version of chromedriver will be copied to the output folder.
  • When the RID that starts with "linux" is specified, Linux x64 version of chromedriver will be copied to the output folder.

If you specify another pattern of RID like "ubuntu.18.04-x64", the platform type of the web driver file which will be copied to the output folder depends on the OS running the build process. (default behavior.)

Method 2 - Specify "WebDriverPlatform" msbuild property

You can control which platform version of chromedriver will be copied by specifying "WebDriverPlatform" MSBuild property.

"WebDriverPlatform" MSBuild property can take one of the following values:

  • "win32"
  • "mac64"
  • "linux64"

You can specify "WebDriverPlatform" MSBuild property in a project file,

<PropertyGroup>
  <WebDriverPlatform>win32</WebDriverPlatform>
</PropertyGroup>

or, command-line -p option for dotnet build command.

>  dotnet build -p:WebDriverPlatform=mac64

The specifying "WebDriverPlatform" MSBuild property is the highest priority method to control which platform version of the chromedriver will be copied.

If you run the following command on Windows OS,

>  dotnet build -r:ubuntu.18.04-x64 -p:WebDriverPlatform=mac64

The driver file of macOS x64 version will be copied to the output folder.

How to include the driver file into published files?

"chromedriver(.exe)" isn't included in published files on default configuration. This behavior is by design.

If you want to include "chromedriver(.exe)" into published files, please define _PUBLISH_CHROMEDRIVER compilation symbol.

define _PUBLISH_CHROMEDRIVER compilation symbol

Another way, you can define PublishChromeDriver property with value is "true" in MSBuild file (.csproj, .vbproj, etc...) to publish the driver file instead of define compilation symbol.

  <Project ...>
    ...
    <PropertyGroup>
      ...
      <PublishChromeDriver>true</PublishChromeDriver>
      ...
    </PropertyGroup>
...
</Project>

You can also define PublishChromeDriver property from the command line -p option for dotnet publish command.

>  dotnet publish -p:PublishChromeDriver=true
Note

PublishChromeDriver MSBuild property always override the condition of define _PUBLISH_CHROMEDRIVER compilation symbol or not. If you define PublishChromeDriver MSBuild property with false, then the driver file isn't included in publish files whenever define _PUBLISH_CHROMEDRIVER compilation symbol or not.

Appendix

The numbering of the package version

The rule of the version number of this package is:

chromedriver version MAJOR.MINOR.BUILD.PATCH + package version (2 digit)

For example, 2nd package release for the chromedriver ver.1.2.3.4, the package version is 1.2.3.4 + 021.2.3.402.

Sometime multiple packages for the same chromedriver version may be released by following example reasons.

  • Packaging miss. (the package included invalid version of the driver files)
  • Fixing bug of the build script, or improving the build script.

Where is chromedriver.exe saved to?

chromedriver(.exe) exists at
" {solution folder} /packages/Selenium.WebDriver.ChromeDriver. {ver} /driver/ {platform}"
folder.

 {Solution folder}/
  +-- packages/
  |   +-- Selenium.WebDriver.ChromeDriver.{version}/
  |       +-- driver/
  |       |   +-- win32
  |       |       +-- chromedriver.exe
  |       |   +-- mac64
  |       |       +-- chromedriver
  |       |   +-- linux64
  |       |       +-- chromedriver
  |       +-- build/
  +-- {project folder}/
      +-- bin/
          +-- Debug/
          |   +-- chromedriver(.exe) (copy from above by build process)
          +-- Release/
              +-- chromedriver(.exe) (copy from above by build process)

And package installer configure MSBuild task such as .csproj to
copy chromedriver(.exe) into the output folder during the build process.

License

The build script (.targets file) in this NuGet package is licensed under The Unlicense.

The binary files of ChromeDriver are licensed under the BSD-3-Clause.

Release Notes

84.0.4147.3000
     - Chrome Driver 84.0.4147.30 release
     83.0.4103.3900
     - Chrome Driver 83.0.4103.39 release
     83.0.4103.1400
     - Chrome Driver 83.0.4103.14 release
     81.0.4044.13800
     - Chrome Driver 81.0.4044.138 release
     81.0.4044.6900
     - Chrome Driver 81.0.4044.69 release
     81.0.4044.2000
     - Chrome Driver 81.0.4044.20 release
     80.0.3987.10600
     - Chrome Driver 80.0.3987.106 release
     80.0.3987.1600
     - Chrome Driver 80.0.3987.16 release
     79.0.3945.3600
     - Chrome Driver 79.0.3945.36 release
     79.0.3945.1600
     - Chrome Driver 79.0.3945.16 release
     78.0.3904.10500
     - Chrome Driver 78.0.3904.105 release
     78.0.3904.7000
     - Chrome Driver 78.0.3904.70 release
     78.0.3904.1100
     - Chrome Driver 78.0.3904.11 release
     77.0.3865.4000
     - Chrome Driver 77.0.3865.40 release
     77.0.3865.10
     - Chrome Driver 77.0.3865.10 release
     76.0.3809.12600
     - Chrome Driver 76.0.3809.126 release
     76.0.3809.6801
     - Change the package version numbering
     - Improve cross platform building and publishing - support Runtime Identifier
     76.0.3809.68
     - Chrome Driver 76.0.3809.68 release
     76.0.3809.25
     - Chrome Driver 76.0.3809.25 release
     75.0.3770.140
     - Chrome Driver 75.0.3770.90 release
     75.0.3770.90
     - Chrome Driver 75.0.3770.90 release
     75.0.3770.8
     - Chrome Driver 75.0.3770.8 release
     74.0.3729.6
     - Chrome Driver 74.0.3729.6 release
     v.73.0.3683.68
     - Chrome Driver 73.0.3683.68 release
     v.73.0.3683.20
     - Chrome Driver 73.0.3683.20 release
     v.72.0.3626.69
     - Chrome Driver 72.0.3626.69 release
     v.71.0.3578.137
     - Chrome Driver 71.0.3578.137 release
   v.2.46.0
     - Chrome Driver 2.46 release
   v.2.45.0
     - Chrome Driver 2.45 release
   v.2.44.0
     - Chrome Driver 2.44 release
   v.2.43.0
     - Chrome Driver 2.43 release
   v.2.42.0
     - Chrome Driver 2.42 release
   v.2.41.0
     - Chrome Driver 2.41 release
   v.2.40.0
     - Chrome Driver 2.40 release
   v.2.39.0
     - Chrome Driver 2.39 release
   v.2.38.0.1
     - Chrome Driver 2.38 Build 552518+ release
   v.2.38.0.0
     - Chrome Driver 2.38 release
   v.2.37.0.0
     - Chrome Driver 2.37 release
   v.2.36.0.0
     - Chrome Driver 2.36 release
   v.2.35.0.0
     - Chrome Driver 2.35 release
   v.2.34.0.0
     - Chrome Driver 2.34 release
   v.2.33.0.0
     - Chrome Driver 2.33 release
   v.2.32.0.0
     - Chrome Driver 2.32 release
   v.2.31.0.0
     - Chrome Driver 2.31 release
   v.2.30.0.0
     - Chrome Driver 2.30 release
   v.2.29.0.0
     - Chrome Driver 2.29 release
   v.2.28.0.2
     - add support for Mono on Linux
   v.2.28.0.1
     - add support for macOS and Xamarin Studio
   v.2.28.0.0
     - Chrome Driver 2.28 release
   v.2.27.0.0
     - Chrome Driver 2.27 release
   v.2.26.0.0
     - Chrome Driver 2.26 release
   v.2.25.0.8
     - Add support for "clean" MSBuild task.
     - Add support for publishing driver file when "_PUBLISH_CHROMEDRIVE" compilation symbol is defined.
   v.2.25.0.0
     - Chrome Driver 2.25 release
     v.2.24.0.0
     - Chrome Driver 2.24 release
     v.2.23.0.1
     - Fix: cause build error when specified absolute output path.
     v.2.23.0.0
     - Chrome Driver 2.23 release
   v.2.22.0.0
     - Chrome Driver 2.22 release
   v.2.21.0.1
   - Change: Implement copy driver task as MSBuild script, and remove install/uninstall PwoerShell scripts.
   v.2.21.0.0
     - Chrome Driver 2.21 release
   v.2.20.0.0
     - Chrome Driver 2.20 release
     v.2.19.0.0
     - Chrome Driver 2.19 release
     v.2.18.0.0
     - Chrome Driver 2.18 release
     v.2.17.0.0
     - Chrome Driver 2.17 release
     v.2.16.0.0
     - Chrome Driver 2.16 release
     v.2.15.0.0
     - Chrome Driver 2.15 release
     v.2.14.0.1
     - Include chromedriver.exe in this package, no downloading during package instllation.
     v.2.14.0.0
     - Chrome Driver 2.14 release
     v.2.13.0.0
     - Chrome Driver 2.13 release
     v.2.12.0.0
     - Chrome Driver 2.12 release
     v.2.10.0.1
     - Fix: Installing this package was fail when .csproj file and packages folder are in a same folder.
     v.2.10
     - Chrome Driver 2.10 release
     v.2.9.0.1
     - HTTP proxy settings are available now.(1. HTTP_PROXY environment variable, 2. NuGet configuration)
     - Fix: Occur exception at Add-Type in init.ps1 when installing the package.

Dependencies

This package has no dependencies.

GitHub repositories (22)

Showing the top 5 popular GitHub repositories that depend on Selenium.WebDriver.ChromeDriver:

Repository Stars
aspnet/KestrelHttpServer
[Archived] A cross platform web server for ASP.NET Core. Project moved to https://github.com/aspnet/AspNetCore
mono/SkiaSharp
SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
jakubgarfield/Bonobo-Git-Server
Bonobo Git Server for Windows is a web application you can install on your IIS and easily manage and connect to your git repositories. Go to homepage for release and more info.
btcpayserver/btcpayserver
A cross platform, self-hosted server compatible with Bitpay API
rnwood/smtp4dev
smtp4dev - the fake smtp email server for development and testing

Version History

Version Downloads Last updated
84.0.4147.3000-beta 2,119 5/29/2020
83.0.4103.3910 13,357 6/28/2020
83.0.4103.3910-beta 2,843 5/24/2020
83.0.4103.3900 298,473 5/20/2020
83.0.4103.3900-beta 13,024 5/6/2020
83.0.4103.1400-beta 1,936 4/17/2020
81.0.4044.13800 67,158 5/6/2020
81.0.4044.6900 194,708 4/9/2020
81.0.4044.6900-beta 1,601 3/18/2020
81.0.4044.2000-beta 2,961 2/14/2020
80.0.3987.10600 512,662 2/14/2020
80.0.3987.1600 192,311 2/5/2020
80.0.3987.1600-beta 2,750 12/20/2019
79.0.3945.3600 609,125 12/12/2019
79.0.3945.3600-beta 5,286 11/19/2019
79.0.3945.1600-beta 1,382 10/31/2019
78.0.3904.10500 210,245 11/19/2019
78.0.3904.7000 365,332 10/23/2019
78.0.3904.1100-beta 3,328 9/13/2019
77.0.3865.4000 338,747 9/13/2019
77.0.3865.4000-beta 2,239 8/21/2019
77.0.3865.10-beta 2,369 8/7/2019
76.0.3809.12600 185,558 8/22/2019
76.0.3809.6801 83,079 8/12/2019
76.0.3809.68 109,846 8/5/2019
76.0.3809.68-beta 4,671 7/17/2019
76.0.3809.25-beta 2,703 6/14/2019
76.0.3809.12-beta 486 6/8/2019
75.0.3770.140 180,671 7/14/2019
75.0.3770.90 151,863 6/14/2019
75.0.3770.8 48,397 6/8/2019
74.0.3729.6 358,405 4/25/2019
73.0.3683.68 199,886 3/13/2019
72.0.3626.69 273,386 3/5/2019
71.0.3578.137 23,191 3/5/2019
2.46.0 277,437 2/2/2019
2.45.0 245,411 12/11/2018
2.44.0 208,456 11/21/2018
2.43.0 708,959 10/18/2018
2.42.0.1 268,018 9/14/2018
2.41.0 432,341 7/28/2018
2.40.0 572,156 6/8/2018
2.39.0 82,493 5/30/2018
2.38.0.1 342,227 4/26/2018
2.38.0 192,901 4/18/2018
2.37.0 493,223 3/17/2018
2.36.0 220,121 3/2/2018
2.35.0 377,051 1/11/2018
2.34.0 107,943 12/10/2017
2.33.0 394,301 10/4/2017
2.32.0 129,986 8/31/2017
2.31.0 100,437 7/23/2017
2.30.0.1 216,698 6/8/2017
2.29.0 287,159 4/4/2017
2.28.0.2-beta 1,649 3/21/2017
2.28.0.1-beta 2,803 3/9/2017
2.28.0 100,758 3/9/2017
2.27.0.7-beta 1,934 3/3/2017
2.27.0.6-beta 432 3/2/2017
2.27.0.2-beta 663 2/28/2017
2.27.0 219,616 12/22/2016
2.26.0 50,002 12/6/2016
2.25.0.8 97,790 11/15/2016
2.25.0.8-beta 3,959 10/29/2016
2.25.0 84,804 10/24/2016
2.24.0 100,841 9/16/2016
2.23.0.1 94,363 8/10/2016
2.23.0 3,480 8/9/2016
2.22.0 87,853 6/8/2016
2.21.0.1-beta 2,251 5/5/2016
2.21.0 185,182 1/26/2016
2.20.0 145,174 10/9/2015
2.19.0 34,051 9/6/2015
2.18.0 9,740 8/22/2015
2.17.0 7,097 8/12/2015
2.16.0 14,233 6/27/2015
2.15.0 36,823 4/1/2015
2.14.0.1-beta 665 3/6/2015
2.14.0 15,971 3/3/2015
2.13.0 14,560 1/6/2015
2.12.0 17,239 10/30/2014
2.10.0.1-beta2 1,554 8/14/2014
2.10.0.1-beta 476 8/14/2014
2.10.0 24,400 5/8/2014
2.9.0.1 5,088 4/7/2014
2.9.0.1-beta3 498 4/5/2014
2.9.0.1-beta2 486 4/3/2014
2.9.0 8,237 3/27/2014
2.8.0 7,938 1/24/2014
2.3.0 7,536 9/7/2013
2.2.0 2,576 8/28/2013