<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Selenium – releases</title><link>https://trunk--polite-jelly-cc0866.netlify.app/categories/releases/</link><description>Recent content in releases on Selenium</description><generator>Hugo -- gohugo.io</generator><lastBuildDate>Mon, 19 Feb 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://trunk--polite-jelly-cc0866.netlify.app/categories/releases/index.xml" rel="self" type="application/rss+xml"/><item><title>Blog: Selenium 4.18 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2024/selenium-4-18-released/</link><pubDate>Mon, 19 Feb 2024 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2024/selenium-4-18-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.18.0 and 4.18.1 for
Javascript, Ruby, Python, .NET, Java and the Grid!
Links to everything can be found on our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Chrome DevTools support is now: v120, v121, and v122 (Firefox still uses v85 for all versions)&lt;/li>
&lt;li>Selenium Manager &lt;a href="https://plausible.io/manager.selenium.dev">records usage&lt;/a> has been decreased to reduce impact on users.&lt;/li>
&lt;li>Chrome headless changed the name of the browser to reflect that it is not actually chrome; Selenium now handles this seamlessly,
but you should still switch to &lt;code>--headless=new&lt;/code> (see: &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/headless-is-going-away/">Headless is going away&lt;/a>)&lt;/li>
&lt;/ul>
&lt;h4 id="noteworthy-changes-per-language">Noteworthy changes per language&lt;/h4>
&lt;ul>
&lt;li>Java
&lt;ul>
&lt;li>Enabling Grid to use self-signed certificate for debugging&lt;/li>
&lt;li>Added explicit target locator events to the listener support classes in &lt;code>WebDriverListener&lt;/code>.&lt;/li>
&lt;li>Add missing event handlers for TargetLocator interface in &lt;code>WebDriverListener&lt;/code>.&lt;/li>
&lt;li>Several &lt;a href="https://github.com/w3c/webdriver-bidi">BiDi&lt;/a> additions: Browsing context destroyed event, Network intercept commands, command &lt;code>continuewithAuth&lt;/code>, between others.&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>JavaScript
&lt;ul>
&lt;li>Several &lt;a href="https://github.com/w3c/webdriver-bidi">BiDi&lt;/a> additions: Browsing context destroyed event, realm destroyed event, command &lt;code>continuewithAuth&lt;/code>, between others.&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/node/selenium-webdriver/CHANGES.md">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>.NET
&lt;ul>
&lt;li>Fix protocol cdp version for &lt;code>RemoteWebDriver&lt;/code>.&lt;/li>
&lt;li>Fix network response data encoding.&lt;/li>
&lt;li>Explicitly support passing the full path to driver in Service constructor&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Python
&lt;ul>
&lt;li>Python for &lt;a href="https://test.pypi.org/project/selenium/">nightly releases&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Ruby
&lt;ul>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Rust
&lt;ul>
&lt;li>Add timestamps to Selenium Manager logs&lt;/li>
&lt;li>Selenium Manager decreases frequency of statistics reporting&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rust/CHANGELOG.md">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="contributors">Contributors&lt;/h3>
&lt;p>&lt;strong>Special shout-out to everyone who helped the Selenium Team get this release out!&lt;/strong>&lt;/p>
&lt;h4 id="seleniumhttpsgithubcomseleniumhqselenium">&lt;a href="https://github.com/SeleniumHQ/selenium">Selenium&lt;/a>&lt;/h4>
&lt;div class="d-flex justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="selenium-docs--websitehttpsgithubcomseleniumhqseleniumhqgithubio">&lt;a href="https://github.com/SeleniumHQ/seleniumhq.github.io">Selenium Docs &amp;amp; Website&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="docker-seleniumhttpsgithubcomseleniumhqdocker-selenium">&lt;a href="https://github.com/SeleniumHQ/docker-selenium">Docker Selenium&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="selenium-team-membersteam">&lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/project/structure">Selenium Team Members&lt;/a>&lt;/h4>
&lt;p>&lt;strong>Thanks as well to all the team members who contributed to this release:&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>Stay tuned for updates by following &lt;a href="https://twitter.com/seleniumhq">SeleniumHQ&lt;/a>!&lt;/p>
&lt;p>Happy testing!&lt;/p></description></item><item><title>Blog: Selenium 4.17 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2024/selenium-4-17-released/</link><pubDate>Tue, 23 Jan 2024 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2024/selenium-4-17-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.17.0 for
Javascript, Ruby, Python, .NET, Java and the Grid!
Links to everything can be found on our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Chrome DevTools support is now: v119, v120, and v121 (Firefox still uses v85 for all versions)&lt;/li>
&lt;li>Selenium Manager &lt;a href="https://plausible.io/manager.selenium.dev">records usage&lt;/a> set
environment variable &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/documentation/selenium_manager/#data-collection">&lt;code>SE_AVOID_STATS&lt;/code> to &lt;code>&amp;quot;true&amp;quot;&lt;/code>&lt;/a> to avoid sending information.&lt;/li>
&lt;li>Chrome headless changed the name of the browser to reflect that it is not actually chrome; Selenium now handles this seamlessly,
but you should still switch to &lt;code>--headless=new&lt;/code> (see: &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/headless-is-going-away/">Headless is going away&lt;/a>)&lt;/li>
&lt;/ul>
&lt;h4 id="noteworthy-changes-per-language">Noteworthy changes per language&lt;/h4>
&lt;ul>
&lt;li>Java
&lt;ul>
&lt;li>Remove deprecated event listener classes; update to EventFiringDecorator and WebDriverListener classes&lt;/li>
&lt;li>Allow disabling Grid UI&lt;/li>
&lt;li>Deprecated FirefoxBinary class and legacy Error Codes&lt;/li>
&lt;li>Deprecated HTML5 features for offline storage, location, and network connection&lt;/li>
&lt;li>No longer accepting session requests with desiredCapabilities keyword&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>JavaScript
&lt;ul>
&lt;li>Remove deprecated headless methods and associated references&lt;/li>
&lt;li>Implemented remote file downloading&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/node/selenium-webdriver/CHANGES.md">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>.NET
&lt;ul>
&lt;li>Improvements to the new logging implementation&lt;/li>
&lt;li>Removed previously deprecated code&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Python
&lt;ul>
&lt;li>Updated WPEWebKit support&lt;/li>
&lt;li>Removed previously deprecated code&lt;/li>
&lt;li>Deprecated FirefoxBinary and several outdated FirefoxProfile methods&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Ruby
&lt;ul>
&lt;li>Logger defaults output to stderr instead of stdout&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Rust
&lt;ul>
&lt;li>Use latest browser from cache when browser path is not discovered&lt;/li>
&lt;li>Throw a descriptive message when error parsing JSON from response&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rust/CHANGELOG.md">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="contributors">Contributors&lt;/h3>
&lt;p>&lt;strong>Special shout-out to everyone who helped the Selenium Team get this release out!&lt;/strong>&lt;/p>
&lt;h4 id="seleniumhttpsgithubcomseleniumhqselenium">&lt;a href="https://github.com/SeleniumHQ/selenium">Selenium&lt;/a>&lt;/h4>
&lt;div class="d-flex justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="selenium-docs--websitehttpsgithubcomseleniumhqseleniumhqgithubio">&lt;a href="https://github.com/SeleniumHQ/seleniumhq.github.io">Selenium Docs &amp;amp; Website&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="docker-seleniumhttpsgithubcomseleniumhqdocker-selenium">&lt;a href="https://github.com/SeleniumHQ/docker-selenium">Docker Selenium&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="selenium-team-membersteam">&lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/project/structure">Selenium Team Members&lt;/a>&lt;/h4>
&lt;p>&lt;strong>Thanks as well to all the team members who contributed to this release:&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>Stay tuned for updates by following &lt;a href="https://twitter.com/seleniumhq">SeleniumHQ&lt;/a>!&lt;/p>
&lt;p>Happy testing!&lt;/p></description></item><item><title>Blog: Selenium 4.16 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-16-released/</link><pubDate>Wed, 06 Dec 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-16-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.16.0 for
Javascript, Ruby, Python, and Selenium 4.16.1 for .NET, Java and the Grid.
Links to everything can be found on our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Chrome DevTools support is now: v118, v119, and v120 (Firefox still uses v85 for all versions)&lt;/li>
&lt;li>Users may now opt in to Selenium Manager by specifying a &lt;code>browserVersion&lt;/code> that is different from what is found on the System&lt;/li>
&lt;li>All bindings now &lt;a href="https://www.selenium.dev/documentation/webdriver/troubleshooting/logging/">log Selenium information&lt;/a>&lt;/li>
&lt;/ul>
&lt;h4 id="noteworthy-changes-per-language">Noteworthy changes per language&lt;/h4>
&lt;ul>
&lt;li>Java
&lt;ul>
&lt;li>Improve Grid usage of Selenium Manager by always allowing browser version of &amp;ldquo;stable&amp;rdquo;&lt;/li>
&lt;li>Implement CDP script pinning for Chrome-based browsers&lt;/li>
&lt;li>Allow reusing devtools instance with JDK 11 client&lt;/li>
&lt;li>Moved org.openqa.selenium.remote.http.jdk to selenium-http&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>JavaScript
&lt;ul>
&lt;li>Fix logging levels in http.js and webdriver.js&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/node/selenium-webdriver/CHANGES.md">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>.NET
&lt;ul>
&lt;li>Allow overriding default Actions duration&lt;/li>
&lt;li>Remove System.Drawing.Common as package dependency&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Python
&lt;ul>
&lt;li>Remove deprecated Safari parameters for reuse_service and quiet&lt;/li>
&lt;li>Fix bug to allow Remote WebDriver to use custom Chrome-based commands&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Ruby
&lt;ul>
&lt;li>Added initial typing support with rbs files&lt;/li>
&lt;li>Fix bug preventing Selenium Manager from working with Unix and Cygwin&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Rust
&lt;ul>
&lt;li>Use online mapping to discover proper geckodriver version&lt;/li>
&lt;li>Fix webview2 support when browser path is set&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rust/CHANGELOG.md">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="contributors">Contributors&lt;/h3>
&lt;p>&lt;strong>Special shout-out to everyone who helped the Selenium Team get this release out!&lt;/strong>&lt;/p>
&lt;h4 id="seleniumhttpsgithubcomseleniumhqselenium">&lt;a href="https://github.com/SeleniumHQ/selenium">Selenium&lt;/a>&lt;/h4>
&lt;div class="d-flex justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="selenium-docs--websitehttpsgithubcomseleniumhqseleniumhqgithubio">&lt;a href="https://github.com/SeleniumHQ/seleniumhq.github.io">Selenium Docs &amp;amp; Website&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="docker-seleniumhttpsgithubcomseleniumhqdocker-selenium">&lt;a href="https://github.com/SeleniumHQ/docker-selenium">Docker Selenium&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="selenium-team-membersteam">&lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/project/structure">Selenium Team Members&lt;/a>&lt;/h4>
&lt;p>&lt;strong>Thanks as well to all the team members who contributed to this release:&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>Stay tuned for updates by following &lt;a href="https://twitter.com/seleniumhq">SeleniumHQ&lt;/a>!&lt;/p>
&lt;p>Happy testing!&lt;/p></description></item><item><title>Blog: Novelties in Selenium Manager 0.4.15</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/novelties_in_selenium_manager_0.4.15/</link><pubDate>Mon, 13 Nov 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/novelties_in_selenium_manager_0.4.15/</guid><description>
&lt;h3 id="support-for-firefox-esr">Support for Firefox ESR&lt;/h3>
&lt;p>Selenium Manager 0.4.15 includes support for Firefox Extended Support Release (ESR). This way, Firefox ESR can be automatically managed with Selenium using the label &lt;code>esr&lt;/code> in the browser version. Bindings languages set this browser version (like other accepted labels for browser versions, such as &lt;code>stable,&lt;/code> &lt;code>beta,&lt;/code> &lt;code>dev,&lt;/code> &lt;code>canary,&lt;/code> and &lt;code>nightly&lt;/code>) using a browser option called &lt;a href="https://www.selenium.dev/documentation/webdriver/drivers/options/#browserversion">browserVersion&lt;/a>.&lt;/p>
&lt;h3 id="support-for-edge-webview2">Support for Edge WebView2&lt;/h3>
&lt;p>Selenium Manager 0.4.15 allows automated driver management for &lt;a href="https://developer.microsoft.com/microsoft-edge/webview2">Microsoft Edge WebView2&lt;/a>. WebView2 is a component that enables embedding web technologies (HTML, CSS, and JavaScript) in native apps, using Microsoft Edge as the rendering engine to display web content. At the time of this writing, WebView2 is available in Windows.&lt;/p>
&lt;p>This way, Selenium Manager allows detecting WebView2 in Windows machines and resolving the proper msedgedriver binary for it. Internally, Selenium Manager uses the browser name &lt;code>webview2&lt;/code> to handle WebView2, detecting its version based on &lt;a href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#detect-if-a-suitable-webview2-runtime-is-already-installed">registry queries&lt;/a>. In the bindings, WebView2 is enabled through a browser option called &lt;code>useWebView&lt;/code>.&lt;/p>
&lt;h3 id="support-for-mirror-repositories">Support for mirror repositories&lt;/h3>
&lt;p>Selenium Manager 0.4.15 includes a couple of new arguments in Selenium Manager for specifying custom URLs for drivers and browsers (instead of the default ones, such as &lt;a href="https://chromedriver.storage.googleapis.com/">chromedriver&lt;/a>, &lt;a href="https://googlechromelabs.github.io/chrome-for-testing/">Chrome for Testing&lt;/a>, etc.). These arguments are:&lt;/p>
&lt;ul>
&lt;li>&lt;code>--driver-mirror-url&lt;/code>: Mirror URL for driver repositories.&lt;/li>
&lt;li>&lt;code>--browser-mirror-url&lt;/code>: Mirror URL for browser repositories.&lt;/li>
&lt;/ul>
&lt;p>As usual, these values can be configured using the config file or environment variable (e.g., &lt;code>SE_DRIVER_MIRROR_URL&lt;/code> or &lt;code>SE_BROWSER_MIRROR_URL&lt;/code>). Moreover, there are browser and driver-specific configuration keys, i.e. &lt;code>chrome-mirror-url&lt;/code>, &lt;code>firefox-mirror-url&lt;/code>, &lt;code>edge-mirror-url&lt;/code>, etc. (in the configuration file), and &lt;code>SE_CHROME_MIRROR_URL&lt;/code>, &lt;code>SE_FIREFOX_MIRROR_URL&lt;/code>, &lt;code>SE_EDGE_MIRROR_URL&lt;/code>, etc. (as environment variables).&lt;/p>
&lt;p>Here is an example of this feature calling Selenium Manager from the shell:&lt;/p>
&lt;pre tabindex="0">&lt;code>./selenium-manager --debug --browser chrome --browser-version 100 --avoid-browser-download --driver-mirror-url=https://registry.npmmirror.com/-/binary/chromedriver/
DEBUG chromedriver not found in PATH
DEBUG chrome detected at C:\Program Files\Google\Chrome\Application\chrome.exe
DEBUG Running command: wmic datafile where name=&amp;#39;C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe&amp;#39; get Version /value
DEBUG Output: &amp;#34;\r\r\n\r\r\nVersion=117.0.5938.150\r\r\n\r\r\n\r\r\n\r&amp;#34;
DEBUG Detected browser: chrome 117.0.5938.150
DEBUG Discovered chrome version (117) different to specified browser version (100)
DEBUG Required driver: chromedriver 100.0.4896.60
DEBUG Downloading chromedriver 100.0.4896.60 from https://registry.npmmirror.com/-/binary/chromedriver/100.0.4896.60/chromedriver_win32.zip
INFO Driver path: C:\Users\boni\.cache\selenium\chromedriver\win64\100.0.4896.60\chromedriver.exe
INFO Browser path: C:\Program Files\Google\Chrome\Application\chrome.exe
&lt;/code>&lt;/pre>&lt;h3 id="debug-release">Debug release&lt;/h3>
&lt;p>To troubleshoot Selenium Manager in complex error cases, it is interesting to capture the backtrace. But to do that, the Selenium Manager binaries must be created with the debug symbols. Since the resulting binaries with debug symbols are much larger than the default release artifacts, we generate them on demand using a custom &lt;a href="https://github.com/SeleniumHQ/selenium/actions/workflows/build-selenium-manager.yml">workflow in GitHub Actions&lt;/a>. This way, we have included a checkbox in the workflow for triggering the Selenium Manager build. When this checkbox is enabled when building Selenium Manager, the debug symbols will be added to the resulting binaries (for Windows, Linux, and macOS). All in all, these binaries will be used on demand to troubleshoot complicated problems.&lt;/p>
&lt;p>&lt;img src="selenium-manager-workflow-debug.png" alt="Selenium Manager workflow screenshot">&lt;/p>
&lt;h3 id="selenium-manager-in-cache-only-for-java-bindings">Selenium Manager in cache (only for Java bindings)&lt;/h3>
&lt;p>As of version 4.15.0 of the Selenium Java bindings, the Selenium Manager binary is extracted and copied to the cache folder. For instance, the Selenium Manager binary shipped with Selenium 4.15.0 is stored in the folder &lt;code>~/.cache/selenium/manager/0.4.15&lt;/code>). This feature will allow direct manipulation of Selenium Manager as a CLI tool, for instance, for troubleshooting. This feature is only available for Java bindings since Java is the only language that does not have direct access to the Selenium Manager binaries (since they are released compressed into the JAR files of the &lt;code>selenium-java&lt;/code> artifacts).&lt;/p>
&lt;h3 id="next-steps">Next steps&lt;/h3>
&lt;p>Look at &lt;a href="https://www.selenium.dev/documentation/selenium_manager/">Selenium Manager documentation&lt;/a> for a detailed description of its features. Also, you can trace the status of the development activities in the &lt;a href="https://github.com/orgs/SeleniumHQ/projects/5">Selenium Manager project dashboard&lt;/a>.&lt;/p></description></item><item><title>Blog: Selenium 4.15 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-15-released/</link><pubDate>Wed, 01 Nov 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-15-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.15.0 for Java,
Javascript, Ruby, .NET and the Grid; 4.15.2 for Python.
Links to everything can be found on our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Chrome DevTools support is now: v117, v118, and v119 (Firefox still uses v85 for all versions)&lt;/li>
&lt;li>Implemented &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/documentation/webdriver/drivers/remote_webdriver/#downloads">Remote File Downloads&lt;/a>&lt;/li>
&lt;li>Selenium Manager supports webview2, Firefox ESR and Driver and Browser Mirrors&lt;/li>
&lt;/ul>
&lt;h4 id="noteworthy-changes-per-language">Noteworthy changes per language&lt;/h4>
&lt;ul>
&lt;li>Java
&lt;ul>
&lt;li>Numerous BiDi implementations&lt;/li>
&lt;li>Remove CDP version dependencies in the server&lt;/li>
&lt;li>Selenium Manager now gets copied to cache directory instead of being used from temp directory&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>JavaScript
&lt;ul>
&lt;li>Replaced calls to console.log with managed loggers&lt;/li>
&lt;li>Added several BiDi methods&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/node/selenium-webdriver/CHANGES.md">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>.NET
&lt;ul>
&lt;li>Improved nuget packages metadata&lt;/li>
&lt;li>Allows starting service object directly&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Python
&lt;ul>
&lt;li>Remove selenium manager accommodation for Conda&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Ruby
&lt;ul>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Rust
&lt;ul>
&lt;li>Included debug and split-debuginfo in dev profile&lt;/li>
&lt;li>Changed windows target to stable-i686-pc-windows-gnu&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rust/CHANGELOG.md">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="contributors">Contributors&lt;/h3>
&lt;p>&lt;strong>Special shout-out to everyone who helped the Selenium Team get this release out!&lt;/strong>&lt;/p>
&lt;h4 id="seleniumhttpsgithubcomseleniumhqselenium">&lt;a href="https://github.com/SeleniumHQ/selenium">Selenium&lt;/a>&lt;/h4>
&lt;div class="d-flex justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="selenium-docs--websitehttpsgithubcomseleniumhqseleniumhqgithubio">&lt;a href="https://github.com/SeleniumHQ/seleniumhq.github.io">Selenium Docs &amp;amp; Website&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="docker-seleniumhttpsgithubcomseleniumhqdocker-selenium">&lt;a href="https://github.com/SeleniumHQ/docker-selenium">Docker Selenium&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Thanks as well to all the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/project/structure">Selenium Team Members&lt;/a> who contributed to this release:&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>Stay tuned for updates by following &lt;a href="https://twitter.com/seleniumhq">SeleniumHQ&lt;/a>!&lt;/p>
&lt;p>Happy testing!&lt;/p></description></item><item><title>Blog: Status of Selenium Manager in October 2023</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/status_of_selenium_manager_in_october_2023/</link><pubDate>Tue, 17 Oct 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/status_of_selenium_manager_in_october_2023/</guid><description>
&lt;p>Selenium Manager continues its development plan. As usual, in the latest releases, i.e., 0.4.13 and 0.4.14 (shipped with Selenium 4.13 and 4.14, respectively), we have fixed the problems reported so far. In these releases, the issues were related to the extraction of the Firefox binary from the self-extracting archive (SFX) in Windows and the advanced configuration through the configuration file (&lt;code>se-config.toml&lt;/code>) and environment variables (e.g., &lt;code>SE_BROWSER&lt;/code>). Moreover, these recent releases include new features, as explained below.&lt;/p>
&lt;h3 id="search-for-the-best-driver-possible-in-the-cache">Search for the best driver possible in the cache&lt;/h3>
&lt;p>By default, Selenium Manager needs to request online endpoints (such as &lt;a href="https://github.com/GoogleChromeLabs/chrome-for-testing#json-api-endpoints">Chrome for Testing JSON API&lt;/a> or &lt;a href="https://wiki.mozilla.org/Release_Management/Product_details">Firefox product-details JSON API&lt;/a>
to discover, download, and maintain the proper drivers and browsers that Selenium requires. The downloaded artifacts are stored in the cache (by default, &lt;code>~/.cache/selenium&lt;/code>) and reused from there.&lt;/p>
&lt;p>To make the driver resolution procedure more robust, as of version 0.4.13, Selenium Manager includes a new feature for locating the drivers in the cache when some error happens. This way, when a network request (or other function) fails in Selenium Manager, it tries to locate the driver in the cache. This characteristic aims to provide a best-effort solution for creating a Selenium session properly, which is the final objective of Selenium Manager. Also, this feature will help to provide a better experience for locating drivers for Selenium Grid.&lt;/p>
&lt;h3 id="locating-selenium-manager-binary-with-an-environment-variable">Locating Selenium Manager binary with an environment variable&lt;/h3>
&lt;p>The next feature related to Selenium Manager 0.4.13 has been implemented in the Selenium bindings (i.e., Java, JavaScript, Python, .Net, and Ruby). As of Selenium 4.13.0, the Selenium bindings allow locating the Selenium Manager binary using an environment variable called &lt;code>SE_MANAGER_PATH&lt;/code>. This way, if this variable is set, the bindings will use its value as the Selenium Manager path in the local filesystem. This feature will allow users to provide a custom compilation of Selenium Manager, for instance, if the default binaries (compiled for Windows, Linux, and macOS) are incompatible with a given system (e.g., ARM64 in Linux).&lt;/p>
&lt;h3 id="automated-edge-management">Automated Edge management&lt;/h3>
&lt;p>Selenium Manager 0.4.14 includes automated Edge management. This browser is the last we have in mind for this feature, after Chrome and Firefox.&lt;/p>
&lt;p>This feature has been implemented in the same way that Chrome and Firefox for macOS and Linux. In other words, Selenium Manager allows to automatically manage (i.e., discover, downloads, and cache) the latest Edge versions (i.e., stable, beta, dev, canary) and old versions (e.g., 115, 116, etc.). The downloaded binaries, as usual, are stored in the Selenium cache. The following output commands showcase this feature in macOS (first snipped) and Linux (second snippet):&lt;/p>
&lt;pre tabindex="0">&lt;code>./selenium-manager --browser edge --debug --force-browser-download
DEBUG msedgedriver not found in PATH
DEBUG Checking edge releases on https://edgeupdates.microsoft.com/api/products
DEBUG Required browser: edge 117.0.2045.40
DEBUG Downloading edge 117.0.2045.40 from https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/6e65d9ef-0bb9-4636-8d9e-2b1b9d16149d/MicrosoftEdge-117.0.2045.40.pkg
DEBUG edge 117.0.2045.40 has been downloaded at /Users/boni/.cache/selenium/edge/mac64/117.0.2045.40/Microsoft Edge.app/Contents/MacOS/Microsoft Edge
DEBUG Reading msedgedriver version from https://msedgedriver.azureedge.net/LATEST_RELEASE_117_MACOS
DEBUG Required driver: msedgedriver 117.0.2045.40
DEBUG Downloading msedgedriver 117.0.2045.40 from https://msedgedriver.azureedge.net/117.0.2045.40/edgedriver_mac64.zip
INFO Driver path: /Users/boni/.cache/selenium/msedgedriver/mac64/117.0.2045.40/msedgedriver
INFO Browser path: /Users/boni/.cache/selenium/edge/mac64/117.0.2045.40/Microsoft Edge.app/Contents/MacOS/Microsoft Edge
&lt;/code>&lt;/pre>&lt;pre tabindex="0">&lt;code>./selenium-manager --browser edge --debug --browser-version beta
DEBUG msedgedriver not found in PATH
DEBUG edge not found in PATH
DEBUG edge beta not found in the system
DEBUG Checking edge releases on https://edgeupdates.microsoft.com/api/products
DEBUG Required browser: edge 118.0.2088.11
DEBUG Downloading edge 118.0.2088.11 from https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-beta/microsoft-edge-beta_118.0.2088.11-1_amd64.deb
DEBUG edge 118.0.2088.11 has been downloaded at /home/user/.cache/selenium/edge/linux64/118.0.2088.11/msedge
DEBUG Reading msedgedriver version from https://msedgedriver.azureedge.net/LATEST_RELEASE_118_LINUX
DEBUG Required driver: msedgedriver 118.0.2088.11
DEBUG Downloading msedgedriver 118.0.2088.11 from https://msedgedriver.azureedge.net/118.0.2088.11/edgedriver_linux64.zip
INFO Driver path: /home/user/.cache/selenium/msedgedriver/linux64/118.0.2088.11/msedgedriver
INFO Browser path: /home/user/.cache/selenium/edge/linux64/118.0.2088.11/msedge
&lt;/code>&lt;/pre>&lt;p>Nevertheless, this feature cannot be implemented similarly for Windows. The reason is that the Edge installer for Windows is distributed as a Microsoft Installer (MSI) file, designed to be executed with administrator rights. We tried to extract the Edge binaries from that MSI file. Still, it seems not possible (see &lt;a href="https://stackoverflow.com/questions/77132922/extract-parse-resources-from-portable-executable-pe-file">Stack Overflow post that summarized the problem&lt;/a>). All in all, the only solution we found is to install Edge in Windows using the MSI installer, and so, administrator grants are required.&lt;/p>
&lt;p>This way, when Edge is attempted to be installed with Selenium Manager in Windows with a non-administrator session, a warning message will be displayed as follows:&lt;/p>
&lt;pre tabindex="0">&lt;code>./selenium-manager --debug --browser edge --browser-version beta
DEBUG msedgedriver not found in PATH
DEBUG edge not found in PATH
DEBUG edge beta not found in the system
WARN There was an error managing edge (edge can only be installed in Windows with administrator permissions); using driver found in the cache
INFO Driver path: C:\Users\boni\.cache\selenium\msedgedriver\win64\118.0.2088.17\msedgedriver.exe
&lt;/code>&lt;/pre>&lt;p>But when Selenium Manager is executed with administrator grants in Windows, it will be able to automatically discover, download, and install Edge (stable, beta, dev, canary, and older versions):&lt;/p>
&lt;pre tabindex="0">&lt;code>./selenium-manager --debug --browser edge --browser-version beta
DEBUG msedgedriver not found in PATH
DEBUG edge not found in PATH
DEBUG edge beta not found in the system
DEBUG Checking edge releases on https://edgeupdates.microsoft.com/api/products
DEBUG Required browser: edge 118.0.2088.17
DEBUG Downloading edge 118.0.2088.17 from https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/7adec542-f34c-4dea-8e2a-f8c6fab4d2f3/MicrosoftEdgeBetaEnterpriseX64.msi
DEBUG Installing MicrosoftEdgeBetaEnterpriseX64.msi
DEBUG edge 118.0.2088.17 is available at C:\Program Files (x86)\Microsoft\Edge Beta\Application\msedge.exe
DEBUG Required driver: msedgedriver 118.0.2088.17
DEBUG msedgedriver 118.0.2088.17 already in the cache
INFO Driver path: C:\Users\boni\.cache\selenium\msedgedriver\win64\118.0.2088.17\msedgedriver.exe
INFO Browser path: C:\Program Files (x86)\Microsoft\Edge Beta\Application\msedge.exe
&lt;/code>&lt;/pre>&lt;h3 id="chromium-support">Chromium support&lt;/h3>
&lt;p>Chromium is released as portable binaries, distributed as zip files for Windows, Linux, and macOS (see &lt;a href="https://www.chromium.org/getting-involved/download-chromium/">Chromium download page&lt;/a>). Nevertheless, there is a case in which Chromium is actually installed in the system. This happens in Linux systems when installing Chromium through package managers like &lt;code>atp&lt;/code> or &lt;code>snap&lt;/code>, for instance, as follows:&lt;/p>
&lt;pre tabindex="0">&lt;code>sudo snap install chromium
&lt;/code>&lt;/pre>&lt;p>Therefore, as of 0.4.14, Selenium Manager looks for the Chromium binaries in the PATH when Chrome is not discovered. The following snippet showcases how this feature works in a Linux machine in which Chrome is not available, but Chromium has been installed through &lt;code>snap&lt;/code>:&lt;/p>
&lt;pre tabindex="0">&lt;code>./selenium-manager --browser chrome --debug
DEBUG chromedriver not found in PATH
DEBUG Found chromium in PATH: /snap/bin/chromium
DEBUG Running command: /snap/bin/chromium --version
DEBUG Output: &amp;#34;Chromium 117.0.5938.149 snap&amp;#34;
DEBUG Detected browser: chrome 117.0.5938.149
DEBUG Required driver: chromedriver 117.0.5938.149
DEBUG chromedriver 117.0.5938.149 already in the cache
INFO Driver path: /home/user/.cache/selenium/chromedriver/linux64/117.0.5938.149/chromedriver
INFO Browser path: /snap/bin/chromium
&lt;/code>&lt;/pre>&lt;h3 id="next-steps">Next steps&lt;/h3>
&lt;p>We are close to implementing all the features initially planned for Selenium Manager. You can trace the status of the development activities in the &lt;a href="https://github.com/orgs/SeleniumHQ/projects/5">Selenium Manager project dashboard&lt;/a>.&lt;/p></description></item><item><title>Blog: Selenium 4.13 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-13-0-released/</link><pubDate>Mon, 25 Sep 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-13-0-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.13.0 for Java,
Python, Javascript and the Grid; and 4.13.1 for .NET and Ruby.
Links to everything can be found on our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Chrome DevTools support is now: v115, v116, and v117 (Firefox still uses v85 for all versions)&lt;/li>
&lt;li>Reminder: this is the last version of Selenium with &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/java-8-support/">Java 8 support&lt;/a>.
Please upgrade to at least Java 11.&lt;/li>
&lt;li>The location of Selenium Manager can be set manually in all bindings with &lt;code>SE_MANAGER_PATH&lt;/code> environment variable.&lt;/li>
&lt;/ul>
&lt;h4 id="relevant-improvements-per-language">Relevant improvements per language&lt;/h4>
&lt;ul>
&lt;li>Java
&lt;ul>
&lt;li>Deprecated setScriptTimeout(), use scriptTimeout()&lt;/li>
&lt;li>Fixed several bugs related to logging driver output&lt;/li>
&lt;li>Removed a number of previously deprecated methods&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>JavaScript
&lt;ul>
&lt;li>Minor bug fixes&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/node/selenium-webdriver/CHANGES.md">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>.NET
&lt;ul>
&lt;li>Users can now start a service before creating the driver object instance&lt;/li>
&lt;li>Removed Microsoft.IdentityModel.Tokens as dependency&lt;/li>
&lt;li>Fixed several bugs and made improvements to DevTools implementations&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Python
&lt;ul>
&lt;li>Removed deprecated headless methods&lt;/li>
&lt;li>Fixed bug preventing using performance logging in Chrome and Edge&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Ruby
&lt;ul>
&lt;li>Fixed bug preventing using performance logging in Chrome and Edge&lt;/li>
&lt;li>Users can now start a service before creating the driver object instance&lt;/li>
&lt;li>Removed deprecated driver extensions for location and network connection&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Rust
&lt;ul>
&lt;li>Various bug fixes for improved Selenium Manager functionality&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rust/CHANGELOG.md">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="contributors">Contributors&lt;/h3>
&lt;p>&lt;strong>Special shout-out to everyone who helped the Selenium Team get this release out!&lt;/strong>&lt;/p>
&lt;h4 id="seleniumhttpsgithubcomseleniumhqselenium">&lt;a href="https://github.com/SeleniumHQ/selenium">Selenium&lt;/a>&lt;/h4>
&lt;div class="d-flex justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="selenium-docs--websitehttpsgithubcomseleniumhqseleniumhqgithubio">&lt;a href="https://github.com/SeleniumHQ/seleniumhq.github.io">Selenium Docs &amp;amp; Website&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="docker-seleniumhttpsgithubcomseleniumhqdocker-selenium">&lt;a href="https://github.com/SeleniumHQ/docker-selenium">Docker Selenium&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Thanks as well to all the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/project/structure">Selenium Team Members&lt;/a> who contributed to this release:&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>Stay tuned for updates by following &lt;a href="https://twitter.com/seleniumhq">SeleniumHQ&lt;/a>!&lt;/p>
&lt;p>Happy testing!&lt;/p></description></item><item><title>Blog: Selenium 4.14 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-14-released/</link><pubDate>Mon, 25 Sep 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-14-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.14.0 for Java,
Python, Javascript, Ruby, .NET and the Grid.
Links to everything can be found on our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Chrome DevTools support is now: v116, v117, and v118 (Firefox still uses v85 for all versions)&lt;/li>
&lt;li>If you are using Java, this release requires Java 11! (see post on &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/java-8-support/">Java 8 support&lt;/a>)&lt;/li>
&lt;li>Selenium supports automatic downloading and management of the Microsoft Edge browser&lt;/li>
&lt;/ul>
&lt;h4 id="relevant-improvements-per-language">Relevant improvements per language&lt;/h4>
&lt;ul>
&lt;li>Java
&lt;ul>
&lt;li>Removed support for Async HTTP Client, the default is now the default Java library&lt;/li>
&lt;li>Allow setting SSL context in client config for HttpClient&lt;/li>
&lt;li>Several logging message improvements&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>JavaScript
&lt;ul>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/node/selenium-webdriver/CHANGES.md">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>.NET
&lt;ul>
&lt;li>Saving screenshots with different image formats is deprecated&lt;/li>
&lt;li>Removed IdentityModel dependency&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Python
&lt;ul>
&lt;li>Fix bug that didn&amp;rsquo;t close log_output in Service classes&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Ruby
&lt;ul>
&lt;li>Provide public access to atom scripts&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Rust
&lt;ul>
&lt;li>Automated Edge management&lt;/li>
&lt;li>Recognizes and handles webview2&lt;/li>
&lt;li>Locates existing Chromium browsers when specifying Chrome&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rust/CHANGELOG.md">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="contributors">Contributors&lt;/h3>
&lt;p>&lt;strong>Special shout-out to everyone who helped the Selenium Team get this release out!&lt;/strong>&lt;/p>
&lt;h4 id="seleniumhttpsgithubcomseleniumhqselenium">&lt;a href="https://github.com/SeleniumHQ/selenium">Selenium&lt;/a>&lt;/h4>
&lt;div class="d-flex justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="selenium-docs--websitehttpsgithubcomseleniumhqseleniumhqgithubio">&lt;a href="https://github.com/SeleniumHQ/seleniumhq.github.io">Selenium Docs &amp;amp; Website&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="docker-seleniumhttpsgithubcomseleniumhqdocker-selenium">&lt;a href="https://github.com/SeleniumHQ/docker-selenium">Docker Selenium&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Thanks as well to all the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/project/structure">Selenium Team Members&lt;/a> who contributed to this release:&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>Stay tuned for updates by following &lt;a href="https://twitter.com/seleniumhq">SeleniumHQ&lt;/a>!&lt;/p>
&lt;p>Happy testing!&lt;/p></description></item><item><title>Blog: Selenium 4.12.0 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-12-0-released/</link><pubDate>Thu, 31 Aug 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-12-0-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.12.0 for Java,
.NET, Ruby, Python, and Javascript as well as the Grid.
Links to everything can be found on our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Chrome DevTools support is now: v114, v115, and v116 (Firefox still uses v85 for all versions)&lt;/li>
&lt;li>Quite a few fixes for Selenium Manager, and now with Firefox browser management!
Read about all the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/whats_new_in_selenium_manager_0.4.12_shipped_with_selenium_4.12.0/">new Selenium Manager features&lt;/a>&lt;/li>
&lt;li>.NET only explicitly targets &lt;code>netstandard2.0&lt;/code>&lt;/li>
&lt;li>Python no longer supports Python 3.7&lt;/li>
&lt;li>Ruby no longer supports &lt;code>:capabilities&lt;/code> arguments for local drivers (must use &lt;code>:options&lt;/code> now)&lt;/li>
&lt;/ul>
&lt;h4 id="relevant-improvements-per-language">Relevant improvements per language&lt;/h4>
&lt;ul>
&lt;li>Java
&lt;ul>
&lt;li>Several improvements in working with Selenium Manager&lt;/li>
&lt;li>Allow deleting remote downloaded files from grid (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12501">#12501&lt;/a>)&lt;/li>
&lt;li>Removed deprecated &lt;code>UNEXPECTED_ALERT_BEHAVIOR&lt;/code>, &lt;code>BROWSER_LOGFILE&lt;/code>, &lt;code>createPointerDown&lt;/code>, &lt;code>createPointerUp&lt;/code> and JWP &lt;code>/file&lt;/code> endpoint&lt;/li>
&lt;li>Deprecated &lt;code>disableNativeEvents&lt;/code> and Remote Response status field&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>JavaScript
&lt;ul>
&lt;li>Fix how browsers and drivers are discovered (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12456">#12456&lt;/a>)&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/node/selenium-webdriver/CHANGES.md">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>.NET
&lt;ul>
&lt;li>Several big fixes for improving DevTools execution (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12486">#12486&lt;/a>,
&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12614">#12614&lt;/a>, &lt;a href="https://github.com/SeleniumHQ/selenium/pull/12592">#12592&lt;/a>,
&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12591">#12591&lt;/a>)&lt;/li>
&lt;li>Bug fix for how driver location is specified in Service class (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12473">#12473&lt;/a>)&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Python
&lt;ul>
&lt;li>Support Selenium Manager in conda installs (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12536">#12536&lt;/a>)&lt;/li>
&lt;li>Several bug fixes in Typing suggestions (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12477">#12477&lt;/a>,
&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12477">#12464&lt;/a>)&lt;/li>
&lt;li>allow setting http client certifications with REQUESTS_CA_BUNDLE env (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/11957">#11957&lt;/a>)&lt;/li>
&lt;li>Fix bugs for &lt;a href="#12462">ElementScrollBehavior&lt;/a>, &lt;a href="https://github.com/SeleniumHQ/selenium/pull/12474">sending keys with long strings&lt;/a>
and &lt;a href="https://github.com/SeleniumHQ/selenium/pull/12499">getting capabilities from options&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Ruby
&lt;ul>
&lt;li>Fix bug preventing good error messages in Selenium Manager when stdout empty&lt;/li>
&lt;li>Fix bug with Firefox not loading net/http library by default (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12506">#12506&lt;/a>)&lt;/li>
&lt;li>&lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES">See all changes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="contributors">Contributors&lt;/h3>
&lt;p>&lt;strong>Special shout-out to everyone who helped the Selenium Team get this release out!&lt;/strong>&lt;/p>
&lt;h4 id="seleniumhttpsgithubcomseleniumhqselenium">&lt;a href="https://github.com/SeleniumHQ/selenium">Selenium&lt;/a>&lt;/h4>
&lt;div class="d-flex justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="selenium-docs--websitehttpsgithubcomseleniumhqseleniumhqgithubio">&lt;a href="https://github.com/SeleniumHQ/seleniumhq.github.io">Selenium Docs &amp;amp; Website&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="docker-seleniumhttpsgithubcomseleniumhqdocker-selenium">&lt;a href="https://github.com/SeleniumHQ/docker-selenium">Docker Selenium&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Thanks as well to all the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/project/structure">Selenium Team Members&lt;/a> who contributed to this release:&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>Stay tuned for updates by following &lt;a href="https://twitter.com/seleniumhq">SeleniumHQ&lt;/a>!&lt;/p>
&lt;p>Happy testing!&lt;/p></description></item><item><title>Blog: What's new in Selenium Manager 0.4.12, shipped with Selenium 4.12.0</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/whats_new_in_selenium_manager_0.4.12_shipped_with_selenium_4.12.0/</link><pubDate>Mon, 28 Aug 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/whats_new_in_selenium_manager_0.4.12_shipped_with_selenium_4.12.0/</guid><description>
&lt;p>A new release of Selenium Manager is out. For this release, we made a relevant decision concerning the Selenium Manager versioning format. From now on, Selenium Manager will follow the same version as Selenium. Nevertheless, since Selenium Manager is still in beta, its major version is &lt;em>0&lt;/em>. Thus, Selenium &lt;strong>4.12.0&lt;/strong> is shipped with Selenium Manager &lt;strong>0.4.12&lt;/strong>.&lt;/p>
&lt;p>First, we made a substantial effort to stabilize the already available features on Selenium Manager. This way, the version includes several bug-fixing related to automated driver management or caching. You can find the details of the changes implemented in Selenium Manager 0.4.12 in the (newly created) &lt;a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rust/CHANGELOG.md">changelog file&lt;/a>.&lt;/p>
&lt;p>Besides, for this release, we made a significant update to the &lt;a href="https://www.selenium.dev/documentation/selenium_manager/">documentation page of Selenium Manager&lt;/a>. This page contains all the fine-grained information related to automated driver and browser management, configuration, etc. Also, it has several &lt;strong>TL;DR&lt;/strong> summarizing the main ideas for the eager reader.&lt;/p>
&lt;h3 id="automated-firefox-management">Automated Firefox management&lt;/h3>
&lt;p>After shipping automated browser management based on &lt;a href="https://googlechromelabs.github.io/chrome-for-testing/">Chrome for Testing&lt;/a> on the previous release, Selenium Manager 0.4.12 continues the job by providing automated &lt;strong>Firefox&lt;/strong> management. This way, Selenium Manager 0.4.12 allows us to manage the different Firefox releases (for Windows, Linux, and macOS), making them seamlessly available for Selenium.&lt;/p>
&lt;p>The procedure is the same as with Chrome. When Firefox is unavailable in the machine running Selenium, it is automatically discovered, downloaded, and cached by Selenium. If no version is specified, the latest stable Firefox release is managed by Selenium Manager. Besides, the bindings can use a browser option called &lt;a href="https://www.selenium.dev/documentation/webdriver/drivers/options/#browserversion">browserVersion&lt;/a> to specify a particular Firefox release (e.g., 114, 115, etc.). Finally, the label &lt;code>stable&lt;/code> allows us to manage the current stable Firefox release explicitly, and the labels &lt;code>beta&lt;/code>, &lt;code>dev&lt;/code>, and &lt;code>nightly&lt;/code> as used for unstable Firefox releases.&lt;/p>
&lt;p>This feature is possible thanks to the remarkable work of the Firefox team by maintaining current and old releases in their &lt;a href="https://ftp.mozilla.org/pub/firefox/releases/">public repository&lt;/a>. Moreover, the Firefox version discovery in Selenium Manager is made thanks to the availability of the &lt;a href="https://wiki.mozilla.org/Release_Management/Product_details">product-details JSON API&lt;/a>, also maintained by the Firefox team.&lt;/p>
&lt;h3 id="improved-configuration">Improved configuration&lt;/h3>
&lt;p>Custom setup is sometimes necessary for browser automation. For that reason, Selenium Manager already provides different features for &lt;a href="https://www.selenium.dev/documentation/selenium_manager/#configuration">rich configuration&lt;/a>. Selenium Manager 0.4.12 extends this feature by delivering a new configuration argument called &lt;code>--cache-path&lt;/code>. This argument allows changing the path of the local folder used to store downloaded assets (drivers and browsers) by Selenium Manager (by default, &lt;code>~/.cache/selenium&lt;/code>). As usual, this argument can also be changed by including an entry in the configuration file or using an environment variable (&lt;code>SE_CACHE_PATH&lt;/code>). Regarding the former, the name of the configuration file has been renamed to &lt;code>se-config.toml&lt;/code> in Selenium Manager 0.4.12. As usual, if you use this configuration file, it must be placed in the root of the cache folder.&lt;/p>
&lt;h3 id="other-changes">Other changes&lt;/h3>
&lt;p>A minor change in Selenium Manager 0.4.12 is related to the metadata file, now called &lt;code>se-metadata.json&lt;/code>. As usual, this file is stored in the root of the cache folder. This file contains versions discovered by Selenium Manager making network requests and the &lt;em>time-to-live&lt;/em> (TTL) in which they are valid. Since the TTL for browsers and drivers is now the same concept, Selenium Manager unifies these two configuration elements (previously, &lt;code>browser_ttl&lt;/code> and &lt;code>driver_ttl&lt;/code>) in a single one called &lt;code>ttl&lt;/code> (with a default value of 3600 seconds, i.e., 1 hour). For further details, visit the Selenium Manager page about &lt;a href="https://www.selenium.dev/documentation/selenium_manager/#caching">caching&lt;/a>.&lt;/p>
&lt;p>Last but not least, the Selenium Manager binary compiled for macOS is &lt;em>universal&lt;/em>, in the sense that it can be executed both in &lt;em>x64&lt;/em> and &lt;em>arm64&lt;/em> architectures out of the box. Previously, the binary was compiled for &lt;em>x64&lt;/em>, and so, &lt;a href="https://support.apple.com/en-us/HT211861">Rosetta&lt;/a> should be available in &lt;em>arm64&lt;/em> macOS machines (i.e., M1 or M2). With the new Selenium Manager macOS binary, Rosetta is no longer mandatory.&lt;/p>
&lt;h3 id="next-steps">Next steps&lt;/h3>
&lt;p>The next release of Selenium Manager will continue delivering automated browser management, this time for &lt;strong>Edge&lt;/strong>, and other features. As usual, you can trace the work in progress in the &lt;a href="https://github.com/orgs/SeleniumHQ/projects/5">Selenium Manager project dashboard&lt;/a>.&lt;/p></description></item><item><title>Blog: Selenium 4.11.0 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-11-0-released/</link><pubDate>Mon, 31 Jul 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-11-0-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.11.0 for Java,
.NET, Ruby, Python, and Javascript as well as the Grid and Internet Explorer Driver.
Links to everything can be found on our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Chrome DevTools support is now: v113, v114, and v115 (Firefox still uses v85 for all versions)&lt;/li>
&lt;li>Support for &lt;a href="https://googlechromelabs.github.io/chrome-for-testing/">Chrome for Testing (CfT)&lt;/a> through Selenium Manager. Read more at the new Selenium Manager features &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/whats-new-in-selenium-manager-with-selenium-4.11.0/">blog post&lt;/a>.&lt;/li>
&lt;li>Selenium Manager now locates the browser driver binary on PATH or the configured path, checks for potential incompatibilities, and gives better warning and error messages.&lt;/li>
&lt;li>&lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads/#nightly">Nightly builds&lt;/a> are being pushed for Ruby and Java. Support for other languages is coming soon.&lt;/li>
&lt;li>Ignore process id match when finding the window handle - IE Mode on Edge. (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12246">#12246&lt;/a>) (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12279">#12279&lt;/a>)&lt;/li>
&lt;/ul>
&lt;h4 id="relevant-improvements-per-language">Relevant improvements per language&lt;/h4>
&lt;ul>
&lt;li>Java
&lt;ul>
&lt;li>Make user defined SlotMatcher used everywhere in Grid code (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12240">#12240&lt;/a>)&lt;/li>
&lt;li>Add support for &lt;a href="https://fedidcg.github.io/FedCM/">FedCM&lt;/a> commands (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12096">#12096&lt;/a>)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>JavaScript
&lt;ul>
&lt;li>&lt;a href="https://github.com/w3c/webdriver-bidi">BiDi&lt;/a> Add Network module events (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12197">#12197&lt;/a>)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>.NET
&lt;ul>
&lt;li>Implementation of event wrapped shadow root element (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12073">#12073&lt;/a>)&lt;/li>
&lt;li>Allow setting a different pointer, keyboard, or wheel on input device (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/11513">#11513&lt;/a>)&lt;/li>
&lt;li>Add move to location method to Actions (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/11509">#11509&lt;/a>)&lt;/li>
&lt;li>Add support for Safari Technology Preview (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12342">#12342&lt;/a>)&lt;/li>
&lt;li>Fix error when we send non-base64 data for fetch command (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12431">#12431&lt;/a>)&lt;/li>
&lt;li>Fix continueResponse method in CDP (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12445">#12445&lt;/a>)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Python
&lt;ul>
&lt;li>removed redundant attributes &lt;code>capabilities&lt;/code> and &lt;code>set_capability&lt;/code> in wpewebkit/options.py (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12169">#12169&lt;/a>)&lt;/li>
&lt;li>improve driver logging, implement log_output() for flexibility and consistency of driver logging (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12103">#12103&lt;/a>)&lt;/li>
&lt;li>let users pass service args to IE driver (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12272">#12272&lt;/a>)&lt;/li>
&lt;li>Expose &lt;code>WPEWebKitService&lt;/code> and &lt;code>WebKitGTKService&lt;/code> in the public API&lt;/li>
&lt;li>Remove deprecated &lt;code>ActionChains.scroll(...)&lt;/code>&lt;/li>
&lt;li>Add creation flag for windows in selenium_manager (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12435">#12435&lt;/a>)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Ruby
&lt;ul>
&lt;li>Made network interception threads fail silently (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12226">#12226&lt;/a>)&lt;/li>
&lt;li>Remove deprecated code (&lt;a href="https://github.com/SeleniumHQ/selenium/pull/12417">#12417&lt;/a>)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="contributors">Contributors&lt;/h3>
&lt;p>&lt;strong>Special shout-out to everyone who helped the Selenium Team get this release out!&lt;/strong>&lt;/p>
&lt;h4 id="seleniumhttpsgithubcomseleniumhqselenium">&lt;a href="https://github.com/SeleniumHQ/selenium">Selenium&lt;/a>&lt;/h4>
&lt;div class="d-flex justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="selenium-docs--websitehttpsgithubcomseleniumhqseleniumhqgithubio">&lt;a href="https://github.com/SeleniumHQ/seleniumhq.github.io">Selenium Docs &amp;amp; Website&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="docker-seleniumhttpsgithubcomseleniumhqdocker-selenium">&lt;a href="https://github.com/SeleniumHQ/docker-selenium">Docker Selenium&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Thanks as well to all the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/project/structure">Selenium Team Members&lt;/a> who contributed to this release:&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>Stay tuned for updates by following &lt;a href="https://twitter.com/seleniumhq">SeleniumHQ&lt;/a>!&lt;/p>
&lt;p>Happy testing!&lt;/p></description></item><item><title>Blog: What's new in Selenium Manager with Selenium 4.11.0</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/whats-new-in-selenium-manager-with-selenium-4.11.0/</link><pubDate>Mon, 31 Jul 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/whats-new-in-selenium-manager-with-selenium-4.11.0/</guid><description>
&lt;p>As of version &lt;a href="https://www.selenium.dev/blog/2022/introducing-selenium-manager/">4.6.0&lt;/a>, all releases of Selenium (Java, JavaScript, Python, Ruby, and .Net) are shipped with &lt;strong>Selenium Manager&lt;/strong>. &lt;a href="https://www.selenium.dev/documentation/selenium_manager/">Selenium Manager&lt;/a> is a binary tool (implemented in Rust) that provides automated driver management for Selenium. &lt;a href="https://www.selenium.dev/documentation/selenium_manager/">Selenium Manager&lt;/a> is still in beta, although it is becoming a relevant component of Selenium.&lt;/p>
&lt;p>So far, the main feature of Selenium Manager is called &lt;em>automated driver management&lt;/em>. I use the term &lt;em>management&lt;/em> for this feature (and not just &lt;em>download&lt;/em>) since this process is broader and implies different steps:&lt;/p>
&lt;ol>
&lt;li>Browser version discovery. Selenium Manager discovers the browser version (e.g., Chrome, Firefox, Edge) installed in the machine that executes Selenium. For this step, shell commands are used (e.g., &lt;code>google-chrome --version&lt;/code>).&lt;/li>
&lt;li>Driver version discovery. With the discovered browser version, the proper driver version is resolved. For this step, the online metadata maintained by the browser vendors (e.g., &lt;a href="https://chromedriver.chromium.org/downloads">chromedriver&lt;/a>, &lt;a href="https://github.com/mozilla/geckodriver/releases">geckodriver&lt;/a>, or &lt;a href="https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/">msedgedriver&lt;/a>) are used.&lt;/li>
&lt;li>Driver download. With the resolved driver version, the driver URL is obtained; with that URL, the driver artifact is downloaded, uncompressed, and stored locally.&lt;/li>
&lt;li>Driver cache. Uncompressed driver binaries are stored in a local cache folder (&lt;code>~/.cache/selenium&lt;/code>). The next time the same driver is required, if the driver is already in the cache, it will be used from there.&lt;/li>
&lt;/ol>
&lt;h3 id="drivers-on-the-path">Drivers on the PATH&lt;/h3>
&lt;p>Driver management through Selenium Manager is &lt;em>opt-in&lt;/em> for the Selenium bindings. Thus, users can continue managing their drivers manually (putting the driver in the &lt;code>PATH&lt;/code> or using system properties) or rely on a third-party &lt;em>manager&lt;/em> to do it automatically. Selenium Manager only operates as a fallback: if no driver is provided, Selenium Manager will come to the rescue. Nevertheless, Selenium Manager also helps users to identify potential problems with the drivers on the &lt;code>PATH&lt;/code>.&lt;/p>
&lt;p>Let&amp;rsquo;s consider an example. Imagine you manually manage your chromedriver for your Selenium tests. When you carry out this management, the stable version of Chrome is 113, so you download chromedriver 113 and put it in your &lt;code>PATH&lt;/code>. Your Selenium tests execute. Everything is fine. But the &lt;em>problem&lt;/em> here is that Chrome is &lt;em>evergreen&lt;/em>. This name refers to Chrome&amp;rsquo;s ability to upgrade automatically and silently to the next stable version when available. This feature is excellent for end-users but potentially dangerous for automated testing. Let&amp;rsquo;s go back to the example to discover it. Your local Chrome will eventually update to version 115. And that moment, your Selenium tests will be broken due to the incompatibility of the manually managed driver (113) and your Chrome (115). That day, your test dashboard will be red due to the following error message: &lt;em>&amp;ldquo;session not created: This version of ChromeDriver only supports Chrome version 113&amp;rdquo;&lt;/em>.&lt;/p>
&lt;p>This problem is the primary reason for the existence of the so-called &lt;em>driver managers&lt;/em>. And as of Selenium 4.11, Selenium Manager helps to understand potential issues related to the drivers in the &lt;code>PATH&lt;/code>. When an incompatible driver release is found in the &lt;code>PATH&lt;/code>, a warning message like the following is displayed to the user:&lt;/p>
&lt;pre tabindex="0">&lt;code>WARN The chromedriver version (113.0.5672.63) detected in PATH at C:\my-drivers\chromedriver.exe might not be compatible with the detected chrome version (115.0.5790.110); currently, chromedriver 115.0.5790.102 is recommended for chrome 115.*, so it is advised to delete the driver in PATH and retry
&lt;/code>&lt;/pre>&lt;h3 id="entering-chrome-for-testing-cft">Entering Chrome for Testing (CfT)&lt;/h3>
&lt;p>The Chrome team started a very relevant initiative for the testing community in 2023: &lt;a href="https://googlechromelabs.github.io/chrome-for-testing/">Chrome for Testing (CfT)&lt;/a>. CfT is a reduced release of Chrome primarily addressed to the testing use case.&lt;/p>
&lt;p>One of the key differences between a regular Chrome release and CfT is that Chrome is &lt;em>evergreen&lt;/em>, but CfT is not. This way, CfT allows pined browsers for testing. CfT releases are portable binaries (for Windows, Linux, and macOS) for different versions, including the stable, beta, dev, and canary channels. These releases can be programmatically discovered using the &lt;a href="https://github.com/GoogleChromeLabs/chrome-for-testing#json-api-endpoints">CfT JSON endpoints&lt;/a>.&lt;/p>
&lt;p>As of version 114, the chromedriver team has stopped publishing the chromedriver releases and metadata using their traditional &lt;a href="https://chromedriver.chromium.org/downloads">chromedriver download repository&lt;/a>. This way, and as of version 115, chromedriver releases can only be discovered programmatically using the abovementioned &lt;a href="https://github.com/GoogleChromeLabs/chrome-for-testing#json-api-endpoints">CfT JSON endpoints&lt;/a>.&lt;/p>
&lt;p>This change has been very relevant for the so-called driver managers. Luckily, Selenium already supports this new way of chromedriver discovery. The last version of Selenium Manager uses the CfT endpoints for chromedriver management. Therefore, if you are using Selenium Manager and Chrome, you must be updated to Selenium 4.11.0 to continue managing chromedriver automatically.&lt;/p>
&lt;h3 id="automated-browser-management">Automated browser management&lt;/h3>
&lt;p>Moreover, as of Selenium 4.11.0, Selenium Manager implements automated browser management based on CfT. In other words, Selenium Manager uses the CfT endpoints to discover, download, and cache the different CfT releases, making them seamlessly available for Selenium.&lt;/p>
&lt;p>Let&amp;rsquo;s suppose we want to driver Chrome with Selenium (see the doc about how to &lt;a href="https://www.selenium.dev/documentation/webdriver/getting_started/first_script/#1-start-the-session">start a session with Selenium&lt;/a>). Before the session begins, and when the driver is unavailable, Selenium Manager manages chromedriver for us. This way, all the complexity related to CfT endpoints, driver versions, etc., is transparent, and we can rely on Selenium Manager to discover, download, and cache the proper driver for us.&lt;/p>
&lt;p>In addition, and as a significant novelty starting on Selenium 4.11.0, if Chrome is not installed on the local machine when executing the previous line, the current stable CfT release is discovered, downloaded, and cached (in &lt;code>~/.cache/selenium/chrome&lt;/code>). But there is more. In addition to the stable CfT version, Selenium Manager also allows downloading of older versions of CfT (starting in version 113, which is the first version published as CfT).&lt;/p>
&lt;p>To set a browser version with Selenium, we use a browser option called &lt;a href="https://www.selenium.dev/documentation/webdriver/drivers/options/#browserversion">browserVersion&lt;/a>.
Until now, the value of this option had no effect when using the local browser since Selenium could not change what is installed in the system. But things are different with Selenium 4.11.0.&lt;/p>
&lt;p>Let&amp;rsquo;s consider a simple example. Suppose we set &lt;code>browserVersion&lt;/code> to &lt;code>114&lt;/code> using &lt;a href="https://www.selenium.dev/documentation/webdriver/browsers/chrome/">Chrome options&lt;/a>. In this case, Selenium Manager will check if Chrome 114 is already installed. If it is, it will be used. If not, Selenium Manager will manage (i.e., discover, download, and cache) CfT 114. And in either case, the chromedriver is also managed. Finally, Selenium will start Chrome to be driven programmatically, as usual.&lt;/p>
&lt;p>But there is even more. In addition to fixed browser versions (e.g., &lt;code>113&lt;/code>, &lt;code>114&lt;/code>, &lt;code>115&lt;/code>, etc.), we can use the following labels for &lt;code>browserVersion&lt;/code>:&lt;/p>
&lt;ul>
&lt;li>&lt;code>stable&lt;/code>: Current CfT version.&lt;/li>
&lt;li>&lt;code>beta&lt;/code>: Next version to stable.&lt;/li>
&lt;li>&lt;code>dev&lt;/code>: Version in development at this moment.&lt;/li>
&lt;li>&lt;code>canary&lt;/code>: Nightly build for developers.&lt;/li>
&lt;/ul>
&lt;p>When these labels are specified, Selenium Manager first checks if a given Chrome is already installed (&lt;code>beta&lt;/code>, &lt;code>dev&lt;/code>, etc.), and when it is not detected, CfT is automatically managed.&lt;/p>
&lt;h3 id="under-the-hood">Under the hood&lt;/h3>
&lt;p>Selenium Manager is a CLI (command line interface) tool implemented in Rust and compiled for Windows, Linux, and macOS. The Selenium Manager binaries are shipped with each Selenium release. This way, each Selenium binding language invokes Selenium Manager to carry out the automated driver and browser management previously explained.&lt;/p>
&lt;p>For most users, Selenium Manager should work silently and transparently. But if you want to &lt;em>play&lt;/em> with Selenium Manager or use it for your own use case (e.g., to download drivers or CfT releases), you can get the Selenium Manager binaries from the &lt;a href="https://github.com/SeleniumHQ/selenium/tree/trunk/common/manager">Selenium main repository&lt;/a>.&lt;/p>
&lt;p>For instance, to manage Chrome/chromedriver, the Selenium Manager command we need to invoke from the shell is the following (notice that the flag &lt;code>--debug&lt;/code> is optional, but it helps us to understand what Selenium Manager is doing):&lt;/p>
&lt;pre tabindex="0">&lt;code>&amp;gt; selenium-manager --browser chrome --debug
DEBUG Checking chromedriver in PATH
DEBUG Running command: chromedriver --version
DEBUG Output: &amp;#34;&amp;#34;
DEBUG chromedriver not found in PATH
DEBUG chrome detected at C:\Program Files\Google\Chrome\Application\chrome.exe
DEBUG Using shell command to find out chrome version
DEBUG Running command: wmic datafile where name=&amp;#39;C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe&amp;#39; get Version /value
DEBUG Output: &amp;#34;\r\r\n\r\r\nVersion=115.0.5790.110\r\r\n\r\r\n\r\r\n\r&amp;#34;
DEBUG Detected browser: chrome 115.0.5790.110
DEBUG Reading metadata from https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json
DEBUG Required driver: chromedriver 115.0.5790.102
DEBUG Driver URL: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/115.0.5790.102/win64/chromedriver-win64.zip
INFO Driver path: C:\Users\boni\.cache\selenium\chromedriver\win64\115.0.5790.102\chromedriver.exe
INFO Browser path: C:\Program Files\Google\Chrome\Application\chrome.exe
&lt;/code>&lt;/pre>&lt;p>In this case, the local Chrome (in Windows) is detected by Selenium Manager. Then, using its version and the CfT endpoints, the proper chromedriver version (115, in this example) is downloaded to the local cache. Finally, Selenium Manager provides two results: i) the driver path (downloaded) and ii) the browser path (local).&lt;/p>
&lt;p>Let&amp;rsquo;s consider another example. Now we want to use Chrome beta. Therefore, we invoke Selenium Manager specifying that version label as follows (notice that the CfT beta is discovered, downloaded, and stored in the local cache):&lt;/p>
&lt;pre tabindex="0">&lt;code>&amp;gt; selenium-manager --browser chrome --debug --browser-version beta
DEBUG Checking chromedriver in PATH
DEBUG Running command: chromedriver --version
DEBUG Output: &amp;#34;&amp;#34;
DEBUG chromedriver not found in PATH
DEBUG Checking chrome in PATH
DEBUG Running command: where chrome
DEBUG Output: &amp;#34;&amp;#34;
DEBUG chrome not found in PATH
DEBUG chrome has not been discovered in the system
DEBUG Reading metadata from https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json
DEBUG Required browser: chrome 116.0.5845.49
DEBUG Downloading chrome 116.0.5845.49 from https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.49/win64/chrome-win64.zip
DEBUG chrome 116.0.5845.49 has been downloaded at C:\Users\boni\.cache\selenium\chrome\win64\116.0.5845.49\chrome.exe
DEBUG Reading metadata from https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json
DEBUG Required driver: chromedriver 116.0.5845.49
DEBUG Driver URL: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.49/win64/chromedriver-win64.zip
INFO Driver path: C:\Users\boni\.cache\selenium\chromedriver\win64\116.0.5845.49\chromedriver.exe
INFO Browser path: C:\Users\boni\.cache\selenium\chrome\win64\116.0.5845.49\chrome.exe
&lt;/code>&lt;/pre>&lt;h3 id="troubleshooting-in-the-bindings">Troubleshooting in the bindings&lt;/h3>
&lt;p>If you want to get the Selenium Manager debugging information (as shown in the section before) when using the Selenium bindings languages, you can enable the logging capabilities of Selenium.
Please visit the &lt;a href="https://www.selenium.dev/documentation/webdriver/troubleshooting/logging/">Selenium troubleshooting page&lt;/a> for details.&lt;/p>
&lt;h3 id="next-steps">Next steps&lt;/h3>
&lt;p>You can trace the work in progress in the &lt;a href="https://github.com/orgs/SeleniumHQ/projects/5">Selenium Manager project dashboard&lt;/a>. The following features to be implemented in Selenium Manager will continue the automated browser management mechanism, this time for &lt;strong>Firefox&lt;/strong> and &lt;strong>Edge&lt;/strong>. Stay tuned!&lt;/p></description></item><item><title>Blog: Building Selenium</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/building-selenium/</link><pubDate>Mon, 12 Jun 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/building-selenium/</guid><description>
&lt;p>One of the things that we knew from the very beginning of the Selenium
project was that people like to code in more than one language. Some
people love a bit of JS, others Ruby, and still others prefer C# or
Java.&lt;/p>
&lt;p>To complicate matters, there’s plenty of pieces we want to share
between the language bindings you’ll be using. Examples include the
“atoms” (re-usable pieces of javascript that perform common functions
– such as “isDisplayed” or “getAttribute” – that we want to work the same
way no matter which language you prefer to write tests in), things
like our CDP support, which uses shared files that describe all the
available functions we can call, and the new Selenium Manager, which
is written in Rust, but we bundle with each of the language bindings.&lt;/p>
&lt;p>The process of converting the source code and other artefacts (such as
the atoms) together into the artefacts we distribute (such as the
Selenium Server, or the language bindings) is called the
“build”. There are plenty of build tools out there. If you’re a java
developer, you’ve probably come across Maven or Gradle. If you’re a JS
hacker, then perhaps something like npm or yarn is something you’ve
used. If you’re a C developer (there are still plenty out there!) then
you’re likely using make or CMake.&lt;/p>
&lt;p>The problem with many build tools is that they’re focused on one
language. Npm is great, but it’s a terrible choice for a Java
project. Gradle is fine, but not if you’re working in Ruby.&lt;/p>
&lt;p>Why is this a problem? Because in the Selenium codebase we want to
support multiple different languages, and we want to be able to
“stitch” them together into a single cohesive whole. For example, the
Selenium jars contain a fairly large amount of JS. The Ruby gems do
too.&lt;/p>
&lt;p>What we want is a single build tool that can cope with lots of
different languages, so we can weave our build into something where we
only need that one tool.&lt;/p>
&lt;p>Enter &lt;a href="https://bazel.build">Bazel&lt;/a>. This was a build tool originally
developed by Google, but which is now Open Source and increasingly
widely used. Bazel itself is relatively limited in what it can do, but
it can be extended easily using “rulesets” that allow it to support
everything we need, and more!&lt;/p>
&lt;p>Bazel is one of a new generation of build tools, and focuses on
exposing how each part of the build process relates to the other
parts. You could imagine drawing a chart, with each thing we need to
compile (eg. Selenium Manager, or the atoms, or one of the jars we
ship) connected by lines to other parts that they depend upon. In
Computer Science, that chart is called a “graph”, and because each
line has a direction (“this thing depends upon that thing”) we call it
a directed graph. Because we can’t depend on something that depends on
itself, we can introduce a “cycle”. Bazel is a build tool designed to
work with these “directed acyclic graphs”.&lt;/p>
&lt;p>One nice thing about these graphs is that there are well-known ways to
figure out which parts of the build can be performed in parallel. A
modern computer has a CPU with many (4, 8, 16!) cores, plenty of
memory, and fast SSDs: it can comfortably perform many tasks at the
same time. So Bazel takes advantage of this, running as many parts of
the build at the same time as it can. This makes our builds
significantly faster than they used to be!&lt;/p>
&lt;p>Better yet, Bazel makes us list all the things that each part of the
build depends on. Not just the source code, but which versions of
which tools we’re using. That makes it a lot easier for a developer
new to the project to get started: they just need to clone &lt;a href="https://github.com/seleniumhq/selenium">our
repo&lt;/a>, make sure they have
Bazel installed, and the build process will take care of making sure
that they have everything they need (although that first build may be
very slow as everything that’s needed will be downloaded from the
Net). That’s not just nice for people new to the project, it’s nice
for the existing developers. They no longer need to know how to
install and set up toolchains that they may not be familiar with –
they just run the build.&lt;/p>
&lt;p>Using the “build graph”, Bazel is able to tell which pieces of code in
the Selenium source code depend on which other parts. This means that
although we can tell Bazel to “run all our tests” when we make a
change, it’s smart enough to know that it only needs to run those
tests which are actually affected by a change. You can &lt;a href="https://www.youtube.com/watch?v=lqqXHEBvU0Y">see this in
action in this video&lt;/a>,
but needless to say, this can save us a huge amount of time! We can
also ask Bazel to re-run flaky tests&lt;/p>
&lt;p>But there’s another advantage of describing all the things we need for
a build. Since we’ve described everything we need to Bazel, and how
all the pieces fit together, there’s no need to just run the build on
our own machines. We’re working with
&lt;a href="https://www.engflow.com">EngFlow&lt;/a> to make use of their build
grid. Rather than just running a small number of things at the same
time on our machines, we can run many times that on their build
grid. Our builds there are incredibly fast!&lt;/p>
&lt;p>So, that’s why we use Bazel on our project: it supports all the
languages we want to use in a single tool, allows us to not think
about how to set up our development machines, runs builds incredibly
quickly, and we can make use of build grids to build things even
faster.&lt;/p></description></item><item><title>Blog: Java 8 support in Selenium</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/java-8-support/</link><pubDate>Fri, 09 Jun 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/java-8-support/</guid><description>
&lt;p>“If it ain’t broke, don’t fix it” is a saying you may have heard, but sometimes
it’s necessary to move on from our old favorites. That’s why we’re announcing that
&lt;strong>Selenium will stop supporting Java 8 on September 30, 2023&lt;/strong>. This applies for
both the Java bindings and the Selenium Grid.&lt;/p>
&lt;p>Selenium has long supported Java 8, but as technology evolves, so must we. One of
the primary reasons for this change is that Java 8 reached the end of active support
&lt;a href="https://endoflife.date/java">over a year ago&lt;/a>. In addition, our default HTTP
Client has not had a major release in several years, and a
&lt;a href="https://github.com/SeleniumHQ/selenium/issues/9528">bug&lt;/a> has been found that we can not fix.
We have decided to &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/using-java11-httpclient/">move to the native Java HTTP Client&lt;/a>,
but it requires using Java 11 or greater. The sooner we make this change, the sooner
we can avoid dealing with this issue.&lt;/p>
&lt;p>Our new minimum version will be Java 11. September 30, 2023 is also the end of
active support for Java 11. However, we want to take a cautious and conservative path
forward, and not force our users to make the big jump from Java 8 to Java 17, as we
understand the community might need longer to move to that version. We will revisit
this topic in the future to announce the plan to support Java 17 as a minimum version.&lt;/p>
&lt;p>We understand that this change may require some of our users to make adjustments, but
we believe that it’s a necessary step for the continued growth of Selenium. Please
take some time to check your infrastructure and ensure you’re running on Java 11 or
higher. We understand that some may be hesitant or may find it difficult to make
the switch, but we believe it will pay off in the long run.&lt;/p>
&lt;p>Please let us know your questions, concerns, and feedback through our
&lt;a href="https://www.selenium.dev/support/#ChatRoom">community chat&lt;/a>.&lt;/p>
&lt;p>Happy testing!&lt;/p></description></item><item><title>Blog: Selenium 4.10.0 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-10-0-released/</link><pubDate>Wed, 07 Jun 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-10-0-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.10.0 for Java,
.NET, Ruby, Python, and Javascript as well as the Grid and Internet Explorer Driver.
Links to everything can be found on our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Chrome DevTools support is now: v112, v113, and v114 (Firefox still uses v85 for all versions)&lt;/li>
&lt;li>Selenium Manager supports proxy usage by using the proxy information set in the browser options.&lt;/li>
&lt;li>Adding support for &lt;a href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/how-to/webdriver">&lt;code>webview2&lt;/code>&lt;/a> in Edge for Java, JavaScript, and Ruby&lt;/li>
&lt;li>Error messages across bindings now include links to the Selenium documentation.&lt;/li>
&lt;li>Overhaul of the service classes and logging output options.&lt;/li>
&lt;li>Logger in Ruby updated default behavior to match other languages and added features to improve filtering types of logging.&lt;/li>
&lt;li>Python - removal of several sections of deprecated code.
&lt;ul>
&lt;li>Most of them were arguments that can be set in the &lt;a href="https://www.selenium.dev/documentation/webdriver/drivers/options/">&lt;code>Options&lt;/code> classes&lt;/a> (browser values) or &lt;a href="https://www.selenium.dev/documentation/webdriver/drivers/service/">&lt;code>Service&lt;/code> classes&lt;/a> (browser driver values).&lt;/li>
&lt;li>They have been deprecated since the &lt;a href="https://www.selenium.dev/documentation/webdriver/getting_started/upgrade_to_selenium_4/#python-1">first Selenium 4 release&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="contributors">Contributors&lt;/h3>
&lt;p>&lt;strong>Special shout-out to everyone who helped the Selenium Team get this release out!&lt;/strong>&lt;/p>
&lt;h4 id="seleniumhttpsgithubcomseleniumhqselenium">&lt;a href="https://github.com/SeleniumHQ/selenium">Selenium&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;p>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/p>
&lt;p>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>&lt;/p>
&lt;/div>
&lt;/div>
&lt;h4 id="selenium-docs--websitehttpsgithubcomseleniumhqseleniumhqgithubio">&lt;a href="https://github.com/SeleniumHQ/seleniumhq.github.io">Selenium Docs &amp;amp; Website&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="docker-seleniumhttpsgithubcomseleniumhqdocker-selenium">&lt;a href="https://github.com/SeleniumHQ/docker-selenium">Docker Selenium&lt;/a>&lt;/h4>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Thanks as well to all the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/project/structure">Selenium Team Members&lt;/a> who contributed to this release:&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>Stay tuned for updates by following &lt;a href="https://twitter.com/seleniumhq">SeleniumHQ&lt;/a>!&lt;/p>
&lt;p>Happy testing!&lt;/p></description></item><item><title>Blog: Selenium 4.9.0 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-9-0-released/</link><pubDate>Fri, 21 Apr 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-9-0-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.9.0 for Java,
.NET, Ruby, Python, and Javascript as well as the Grid and Internet Explorer Driver.
Links to everything can be found on our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Chrome DevTools support is now: v110, v111, and v112 (Firefox still uses v85 for all versions)&lt;/li>
&lt;li>Maven BOM for the Java bindings.&lt;/li>
&lt;li>Remote file downloads are &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/documentation/grid/configuration/cli_options/#enabling-managed-downloads-by-the-node">now possible through Selenium Grid&lt;/a>.&lt;/li>
&lt;li>First steps taken to phase out CDP in Firefox and replace it with the BiDi implementation.&lt;/li>
&lt;li>&lt;code>InvalidSelectorException&lt;/code> &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/invalid-selector-exception-has-changed/">now extends &lt;code>WebDriverException&lt;/code> instead of &lt;code>NoSuchElementException&lt;/code>&lt;/a>.&lt;/li>
&lt;li>Selenium Manager uses information set in the browser options to get the correct browser driver.&lt;/li>
&lt;li>A &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/documentation/grid/configuration/cli_options/#router">sub-path&lt;/a> can be set in Selenium Grid to have a custom Grid url.&lt;/li>
&lt;li>Complete removal of &lt;a href="https://www.selenium.dev/blog/2022/legacy-protocol-support/">Json Wire Protocol support in Java and Grid&lt;/a>.&lt;/li>
&lt;/ul>
&lt;h3 id="contributors">Contributors&lt;/h3>
&lt;p>&lt;strong>Special shout-out to everyone who helped the Selenium Team get this release out!&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Thanks as well to all the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/project/structure">Selenium Team Members&lt;/a> who contributed to this release:&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>Stay tuned for updates by following &lt;a href="https://twitter.com/seleniumhq">SeleniumHQ&lt;/a>!&lt;/p>
&lt;p>Happy testing!&lt;/p></description></item><item><title>Blog: Headless is Going Away!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/headless-is-going-away/</link><pubDate>Sun, 29 Jan 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/headless-is-going-away/</guid><description>
&lt;p>Headless is an execution mode for Firefox and Chromium based browsers. It allows users to run automated scripts in
headless mode, meaning that the browser window wouldn’t be visible. In most of Selenium&amp;rsquo;s bindings there is a
convenience method to set this execution mode while setting the browser options. However,
&lt;a href="https://www.selenium.dev/blog/2023/selenium-4-8-0-released/">Selenium 4.8.0&lt;/a> will be deprecated this method
and now users need to set it through arguments when setting the browser options.&lt;/p>
&lt;h3 id="why-is-selenium-doing-this">Why is Selenium doing this?&lt;/h3>
&lt;p>Chromium based browsers have now two different headless modes (the original one, and one with more
capabilities added in 2022). When a user sets headless to &lt;code>true&lt;/code> via the convenience method in Selenium,
it is using the initial method provided by Chromium based browsers.&lt;/p>
&lt;p>By deprecating the convenience method (and removing it in Selenium 4.10.0), users will be in full control to
choose which headless mode they want to use.&lt;/p>
&lt;h3 id="what-are-the-two-headless-modes">What are the two headless modes?&lt;/h3>
&lt;p>The traditional &lt;code>--headless&lt;/code>, and since version 96, Chrome has a new headless mode that allows users to
get the full browser functionality (even run extensions). Between versions 96 to 108 it was
&lt;code>--headless=chrome&lt;/code>, after version 109 &lt;code>--headless=new&lt;/code>.&lt;/p>
&lt;p>Using &lt;code>--headless=new&lt;/code> should bring a better experience when using headless with Selenium.&lt;/p>
&lt;p>Thanks to &lt;a href="https://github.com/mdmintz">Michael Mintz&lt;/a> for the detailed
&lt;a href="https://stackoverflow.com/questions/45631715/downloading-with-chrome-headless-and-selenium/73840130#73840130">explanation&lt;/a>!&lt;/p>
&lt;p>Check more details about the &lt;a href="https://developer.chrome.com/articles/new-headless/">new headleass mode at the official Chrome blog&lt;/a>.&lt;/p>
&lt;h3 id="how-can-i-set-headless-mode-from-now-on">How can I set headless mode from now on?&lt;/h3>
&lt;p>In short, users can add the headless mode they want to use through arguments in browser options.&lt;/p>
&lt;h4 id="before">Before&lt;/h4>
&lt;ul class="nav nav-tabs" id="tabs-0" role="tablist">
&lt;li class="nav-item">
&lt;button class="nav-link active"
id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
data-td-tp-persist="java" aria-controls="tabs-00-00" aria-selected="true">
Java
&lt;/button>
&lt;/li>&lt;li class="nav-item">
&lt;button class="nav-link"
id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
data-td-tp-persist="javascript" aria-controls="tabs-00-01" aria-selected="false">
JavaScript
&lt;/button>
&lt;/li>&lt;li class="nav-item">
&lt;button class="nav-link"
id="tabs-00-02-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-02" role="tab"
data-td-tp-persist="csharp" aria-controls="tabs-00-02" aria-selected="false">
CSharp
&lt;/button>
&lt;/li>&lt;li class="nav-item">
&lt;button class="nav-link"
id="tabs-00-03-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-03" role="tab"
data-td-tp-persist="ruby" aria-controls="tabs-00-03" aria-selected="false">
Ruby
&lt;/button>
&lt;/li>&lt;li class="nav-item">
&lt;button class="nav-link"
id="tabs-00-04-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-04" role="tab"
data-td-tp-persist="python" aria-controls="tabs-00-04" aria-selected="false">
Python
&lt;/button>
&lt;/li>
&lt;/ul>
&lt;div class="tab-content" id="tabs-0-content">
&lt;div class="tab-pane fade show active"
id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0">
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-Java" data-lang="Java">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">ChromeOptions&lt;/span> &lt;span style="color:#000">options&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#204a87;font-weight:bold">new&lt;/span> &lt;span style="color:#000">ChromeOptions&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">();&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#c4a000">setHeadless&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#204a87;font-weight:bold">true&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">WebDriver&lt;/span> &lt;span style="color:#000">driver&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#204a87;font-weight:bold">new&lt;/span> &lt;span style="color:#000">ChromeDriver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#c4a000">get&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;https://selenium.dev&amp;#34;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#c4a000">quit&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">();&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>
&lt;div class="tab-pane fade"
id="tabs-00-01" role="tabpanel" aria-labelled-by="tabs-00-01-tab" tabindex="0">
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-JavaScript" data-lang="JavaScript">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">let&lt;/span> &lt;span style="color:#000">driver&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#204a87;font-weight:bold">await&lt;/span> &lt;span style="color:#000">env&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">builder&lt;/span>&lt;span style="color:#000;font-weight:bold">()&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">setChromeOptions&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#204a87;font-weight:bold">new&lt;/span> &lt;span style="color:#000">chrome&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">Options&lt;/span>&lt;span style="color:#000;font-weight:bold">().&lt;/span>&lt;span style="color:#000">headless&lt;/span>&lt;span style="color:#000;font-weight:bold">())&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">build&lt;/span>&lt;span style="color:#000;font-weight:bold">();&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">await&lt;/span> &lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">get&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;https://selenium.dev&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">await&lt;/span> &lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">quit&lt;/span>&lt;span style="color:#000;font-weight:bold">();&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>
&lt;div class="tab-pane fade"
id="tabs-00-02" role="tabpanel" aria-labelled-by="tabs-00-02-tab" tabindex="0">
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-CSharp" data-lang="CSharp">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">// C# did not have a convenience method&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>
&lt;div class="tab-pane fade"
id="tabs-00-03" role="tabpanel" aria-labelled-by="tabs-00-03-tab" tabindex="0">
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-Ruby" data-lang="Ruby">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">options&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">Selenium&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">::&lt;/span>&lt;span style="color:#000">WebDriver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">::&lt;/span>&lt;span style="color:#000">Chrome&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">::&lt;/span>&lt;span style="color:#000">Options&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">new&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">headless!&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">Selenium&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">::&lt;/span>&lt;span style="color:#000">WebDriver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">for&lt;/span> &lt;span style="color:#4e9a06">:chrome&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span> &lt;span style="color:#4e9a06">options&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#000">options&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">get&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;https://selenium.dev&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">quit&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>
&lt;div class="tab-pane fade"
id="tabs-00-04" role="tabpanel" aria-labelled-by="tabs-00-04-tab" tabindex="0">
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-Python" data-lang="Python">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">options&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">ChromeOptions&lt;/span>&lt;span style="color:#000;font-weight:bold">()&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">headless&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#204a87;font-weight:bold">True&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">webdriver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">Chrome&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">get&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;http://selenium.dev&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">quit&lt;/span>&lt;span style="color:#000;font-weight:bold">()&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>
&lt;/div>
&lt;h4 id="after">After&lt;/h4>
&lt;ul class="nav nav-tabs" id="tabs-1" role="tablist">
&lt;li class="nav-item">
&lt;button class="nav-link active"
id="tabs-01-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-00" role="tab"
data-td-tp-persist="java" aria-controls="tabs-01-00" aria-selected="true">
Java
&lt;/button>
&lt;/li>&lt;li class="nav-item">
&lt;button class="nav-link"
id="tabs-01-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-01" role="tab"
data-td-tp-persist="javascript" aria-controls="tabs-01-01" aria-selected="false">
JavaScript
&lt;/button>
&lt;/li>&lt;li class="nav-item">
&lt;button class="nav-link"
id="tabs-01-02-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-02" role="tab"
data-td-tp-persist="csharp" aria-controls="tabs-01-02" aria-selected="false">
CSharp
&lt;/button>
&lt;/li>&lt;li class="nav-item">
&lt;button class="nav-link"
id="tabs-01-03-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-03" role="tab"
data-td-tp-persist="ruby" aria-controls="tabs-01-03" aria-selected="false">
Ruby
&lt;/button>
&lt;/li>&lt;li class="nav-item">
&lt;button class="nav-link"
id="tabs-01-04-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-04" role="tab"
data-td-tp-persist="python" aria-controls="tabs-01-04" aria-selected="false">
Python
&lt;/button>
&lt;/li>
&lt;/ul>
&lt;div class="tab-content" id="tabs-1-content">
&lt;div class="tab-pane fade show active"
id="tabs-01-00" role="tabpanel" aria-labelled-by="tabs-01-00-tab" tabindex="1">
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-Java" data-lang="Java">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">ChromeOptions&lt;/span> &lt;span style="color:#000">options&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#204a87;font-weight:bold">new&lt;/span> &lt;span style="color:#000">ChromeOptions&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">();&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#c4a000">addArguments&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;--headless=new&amp;#34;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">WebDriver&lt;/span> &lt;span style="color:#000">driver&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#204a87;font-weight:bold">new&lt;/span> &lt;span style="color:#000">ChromeDriver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#c4a000">get&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;https://selenium.dev&amp;#34;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#c4a000">quit&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">();&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>
&lt;div class="tab-pane fade"
id="tabs-01-01" role="tabpanel" aria-labelled-by="tabs-01-01-tab" tabindex="1">
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-JavaScript" data-lang="JavaScript">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">let&lt;/span> &lt;span style="color:#000">driver&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#204a87;font-weight:bold">await&lt;/span> &lt;span style="color:#000">env&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">builder&lt;/span>&lt;span style="color:#000;font-weight:bold">()&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">setChromeOptions&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">addArguments&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;--headless=new&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">))&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">build&lt;/span>&lt;span style="color:#000;font-weight:bold">();&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">await&lt;/span> &lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">get&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;https://selenium.dev&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">await&lt;/span> &lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">quit&lt;/span>&lt;span style="color:#000;font-weight:bold">();&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>
&lt;div class="tab-pane fade"
id="tabs-01-02" role="tabpanel" aria-labelled-by="tabs-01-02-tab" tabindex="1">
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-CSharp" data-lang="CSharp">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">var&lt;/span> &lt;span style="color:#000">options&lt;/span> &lt;span style="color:#000;font-weight:bold">=&lt;/span> &lt;span style="color:#204a87;font-weight:bold">new&lt;/span> &lt;span style="color:#000">ChromeOptions&lt;/span>&lt;span style="color:#000;font-weight:bold">();&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">AddArgument&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;--headless=new&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">var&lt;/span> &lt;span style="color:#000">driver&lt;/span> &lt;span style="color:#000;font-weight:bold">=&lt;/span> &lt;span style="color:#204a87;font-weight:bold">new&lt;/span> &lt;span style="color:#000">ChromeDriver&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#000;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">Navigate&lt;/span>&lt;span style="color:#000;font-weight:bold">().&lt;/span>&lt;span style="color:#000">GoToUrl&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;https://selenium.dev&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">Quit&lt;/span>&lt;span style="color:#000;font-weight:bold">();&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>
&lt;div class="tab-pane fade"
id="tabs-01-03" role="tabpanel" aria-labelled-by="tabs-01-03-tab" tabindex="1">
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-Ruby" data-lang="Ruby">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">options&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">Selenium&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">::&lt;/span>&lt;span style="color:#000">WebDriver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">::&lt;/span>&lt;span style="color:#000">Options&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">chrome&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">args&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;--headless=new&amp;#39;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">Selenium&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">::&lt;/span>&lt;span style="color:#000">WebDriver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">for&lt;/span> &lt;span style="color:#4e9a06">:chrome&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span> &lt;span style="color:#4e9a06">options&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#000">options&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">get&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;https://selenium.dev&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">quit&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>
&lt;div class="tab-pane fade"
id="tabs-01-04" role="tabpanel" aria-labelled-by="tabs-01-04-tab" tabindex="1">
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-Python" data-lang="Python">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">options&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">ChromeOptions&lt;/span>&lt;span style="color:#000;font-weight:bold">()&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">add_argument&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;--headless=new&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">webdriver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">Chrome&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#000">options&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">get&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;http://selenium.dev&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">quit&lt;/span>&lt;span style="color:#000;font-weight:bold">()&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>If you have any questions or comments, please reach out through any of all the available options
shown at our &lt;a href="https://www.selenium.dev/support/">support page&lt;/a>.&lt;/p>
&lt;p>Stay tuned for updates by following &lt;a href="https://twitter.com/seleniumhq">SeleniumHQ&lt;/a>!&lt;/p>
&lt;p>Happy testing!&lt;/p></description></item><item><title>Blog: Selenium 4.8.0 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-8-0-released/</link><pubDate>Mon, 23 Jan 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/selenium-4-8-0-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.8.0 for Java,
.NET, Ruby, Python, and Javascript as well as the Grid and Internet Explorer Driver.
Links to everything can be found on our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Chrome DevTools support is now: v107, v108, and v109 (Firefox still uses v85 for all versions)&lt;/li>
&lt;li>Large JS executions have the name as a comment to help understand what payload being sent to/from server/driver.&lt;/li>
&lt;li>Deprecation of headless convenience method. Read more about in the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/headless-is-going-away/">headless blog post&lt;/a>.&lt;/li>
&lt;li>Ruby overhauls Options classes (again)&lt;/li>
&lt;li>Initial &lt;a href="https://github.com/w3c/webdriver-bidi">BiDi&lt;/a> support in JavaScript, Ruby, and improvements in Java.&lt;/li>
&lt;li>We&amp;rsquo;re continuing to remove &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/legacy-protocol-support/">Legacy Protocol&lt;/a> classes in Java and Grid.&lt;/li>
&lt;li>Accommodate ability to specify sub-paths in Grid.&lt;/li>
&lt;li>Plus various language specific bug fixes; see the full list of changes in the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads#bindings">Changelogs&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="contributors">Contributors&lt;/h3>
&lt;p>&lt;strong>Special shout-out to everyone who helped the Selenium Team get this release out!&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Thanks as well to all the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/project/structure">Selenium Team Members&lt;/a> who contributed to this release:&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div></description></item><item><title>Blog: Selenium 4.7.0 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/selenium-4-7-0-released/</link><pubDate>Fri, 02 Dec 2022 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/selenium-4-7-0-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.7.0 for Java,
.NET, and Javascript as well as the Grid and Internet Explorer Driver;
for Ruby use 4.7.1, and Python 4.7.2. Links to everything can be found on our
&lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Chrome DevTools support is now: v106, v107, and v108 (Firefox still uses v85 for all versions)&lt;/li>
&lt;li>&lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/introducing-selenium-manager/">Selenium Manager&lt;/a> now supports IE Driver &amp;amp; has improved error logging.&lt;/li>
&lt;li>Using Edge in IE Mode no longer requires ignoring zoom levels.&lt;/li>
&lt;li>We&amp;rsquo;re continuing to remove &lt;a href="https://www.selenium.dev/blog/2022/legacy-protocol-support/">Legacy Protocol&lt;/a> classes in Java and Grid.&lt;/li>
&lt;li>Java adds WebDriver-BiDi support for Logging.&lt;/li>
&lt;li>.NET includes an explicit target for net6.0 framework.&lt;/li>
&lt;li>Ruby is now publishing &lt;a href="https://github.com/SeleniumHQ/selenium/packages/">nightly gems&lt;/a>&lt;/li>
&lt;li>Plus various language specific bug fixes; see the full list of changes in the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads#bindings">Changelogs&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="contributors">Contributors&lt;/h3>
&lt;p>&lt;strong>Special shout-out to everyone who helped the Selenium Team get this release out!&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Thanks as well to all the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/project/structure">Selenium Team Members&lt;/a> who contributed to this release:&lt;/strong>&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div></description></item><item><title>Blog: Introducing Selenium Manager</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/introducing-selenium-manager/</link><pubDate>Fri, 04 Nov 2022 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/introducing-selenium-manager/</guid><description>
&lt;p>Most people&amp;rsquo;s first experience with Selenium ends up with an error message like this one:&lt;/p>
&lt;pre tabindex="0">&lt;code>java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver
system property; for more information, see https://chromedriver.chromium.org/. The latest version can be
downloaded from https://chromedriver.chromium.org/downloads
&lt;/code>&lt;/pre>&lt;p>Then they have to search the web for instructions on what to do with the drivers they download.&lt;/p>
&lt;h3 id="selenium-now-with-batteries-included">Selenium: now with batteries included!&lt;/h3>
&lt;p>The Selenium project wants to improve the user experience, and one of the first steps is to help all users to
simplify how they set up their environment. Configuring browser drivers has been for many years a task which
users need to perform in order to have a working environment to run Selenium.&lt;/p>
&lt;p>Setting up a browser driver once is not that complicated, but as browser release cycles got shorter, and now
we have a new Chrome/Firefox/Edge version every 4-6 weeks, the task of keeping the browser driver in sync with
the browser version is not that easy anymore.&lt;/p>
&lt;p>Selenium Manager is a new tool that helps to get a working environment to run Selenium out of the box. Beta 1
of Selenium Manager will configure the browser drivers for Chrome, Firefox, and Edge if they are not present
on the &lt;code>PATH&lt;/code>.&lt;/p>
&lt;p>To run a Selenium test with Selenium 4.6, you only need to have Chrome, Firefox, or Edge installed. If you
already have browser drivers installed, this feature will be ignored. If you&amp;rsquo;d like to help us test it, though,
delete your drivers or remove your third party driver manager and things should still &amp;ldquo;just work.&amp;rdquo; If they don&amp;rsquo;t,
please file a &lt;a href="https://github.com/SeleniumHQ/selenium/issues">bug report&lt;/a>.&lt;/p>
&lt;p>Future releases of Selenium Manager will eventually even download browsers if necessary.&lt;/p>
&lt;h3 id="inspired-by-open-source-and-the-selenium-community">Inspired by Open Source and the Selenium Community&lt;/h3>
&lt;p>Selenium Manager is not a completely new solution. Over the years, several third-party projects in the Selenium
ecosystem emerged. Such as: &lt;a href="https://bonigarcia.dev/webdrivermanager/">WebDriverManager&lt;/a> for Java,
&lt;a href="https://pypi.org/project/webdriver-manager/">webdriver-manager&lt;/a> for Python,
&lt;a href="https://github.com/titusfortner/webdrivers">webdrivers&lt;/a> for Ruby, and
&lt;a href="https://github.com/rosolko/WebDriverManager.Net">WebDriverManager.Net&lt;/a> for C#.&lt;/p>
&lt;p>All these projects served as an
&lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/documentation/webdriver/troubleshooting/errors/driver_location/#driver-management-libraries">inspiration&lt;/a>
and as a clear sign that the community needed this feature to be
built-in Selenium. In addition, a &lt;a href="https://www.selenium.dev/blog/2021/selenium-survey-results/">survey&lt;/a>
done on January 2021 showed that most Selenium users want to get rid of the driver management
problem. Plus, the fact that the
&lt;a href="https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location/">driver installation&lt;/a> page is
by far the most visited one in the Selenium documentation.&lt;/p>
&lt;h3 id="selenium-manager-in-detail">Selenium Manager in detail&lt;/h3>
&lt;p>Selenium Manager is a CLI (Command-Line Interface) tool developed in Rust to allow cross platform execution.
On its beta 1 version, Selenium Manager is invoked transparently by the Selenium bindings when no browser
driver is detected on the &lt;code>PATH&lt;/code> or no third party driver manager is being used.&lt;/p>
&lt;p>You can also use Selenium Manager without the Selenium bindings. While we plan to do formal releases in the
future, for now, the binaries can be found directly on the
&lt;a href="https://github.com/SeleniumHQ/selenium/tree/trunk/common/manager">Selenium repository&lt;/a>. Check the different
parameters and options by running the following command:&lt;/p>
&lt;pre tabindex="0">&lt;code>$ ./selenium-manager --help
&lt;/code>&lt;/pre>&lt;p>A quick example showing how &lt;code>ChromeDriver&lt;/code> gets configured can be seen below:&lt;/p>
&lt;pre tabindex="0">&lt;code>$ ./selenium-manager --browser chrome
INFO /home/boni/.cache/selenium/chromedriver/linux64/106.0.5249.61/chromedriver
&lt;/code>&lt;/pre>&lt;p>If you maintain a WebDriver based project and would like to use Selenium Manager as well,
join us in our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/support/#ChatRoom">community channels&lt;/a> and we would be happy to help.
Also, if you are interested in contributing, for detailed instructions and information
check the project&amp;rsquo;s &lt;a href="https://github.com/SeleniumHQ/selenium/tree/trunk/rust">README&lt;/a>.&lt;/p>
&lt;h3 id="next-steps">Next steps&lt;/h3>
&lt;p>Selenium Manager is still under development, features will be added and bugs fixed along with each release.
However, you as a member of the Selenium community are key part on the future success of this new tool. Please
report ideas or bugs through our &lt;a href="https://github.com/SeleniumHQ/selenium/issues">issue tracker&lt;/a> and join
the conversation through our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/support/#ChatRoom">community channels&lt;/a>. Looking forward to your feedback!&lt;/p>
&lt;p>Happy testing!&lt;/p></description></item><item><title>Blog: Selenium 4.6.0 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/selenium-4-6-0-released/</link><pubDate>Fri, 04 Nov 2022 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/selenium-4-6-0-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.6.0 for Java,
.NET, Python, Ruby, and JavaScript bindings as well as the Grid and
Internet Explorer Driver. Links to everything can be found on our
&lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Adding support for CDP released in Chrome v105, v106, and v107, while v104 was removed&lt;/li>
&lt;li>Initial implementation of &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/introducing-selenium-manager/">Selenium Manager&lt;/a> across bindings&lt;/li>
&lt;li>Improvements to the new Java HTTP 11 client and important Grid fixes.&lt;/li>
&lt;li>Observability enabled in the &lt;a href="https://github.com/SeleniumHQ/docker-selenium#tracing-in-grid">Docker-Selenium images&lt;/a>.&lt;/li>
&lt;li>Various language specific bug fixes; see the full list of changes in the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads#bindings">Changelogs&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Huge thanks to all the contributors who made this version possible:&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div></description></item><item><title>Blog: Selenium 4.5.0 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/selenium-4-5-0-released/</link><pubDate>Wed, 28 Sep 2022 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/selenium-4-5-0-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.5.0 for
Java, .NET, Python, Ruby, and JavaScript bindings as well as the Grid and Internet Explorer Driver.
Links to everything can be found on our &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">Downloads Page&lt;/a>.&lt;/p>
&lt;h3 id="highlights">Highlights&lt;/h3>
&lt;ul>
&lt;li>Adding support for CDP released in Chrome v105 and v106, while v102 and v103 were removed&lt;/li>
&lt;li>Updates to &lt;a href="https://www.selenium.dev/documentation/webdriver/support_features/select_lists/">Select functionality&lt;/a>&lt;/li>
&lt;li>Improved experience for &lt;a href="https://www.selenium.dev/documentation/webdriver/browsers/firefox#add-ons">Firefox Add-ons&lt;/a>&lt;/li>
&lt;li>IE driver automatically uses &lt;a href="https://titusfortner.com/2022/09/28/edge-ie-mode.html">Edge in IE Mode if IE is not present&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.selenium.dev/blog/2022/using-java11-httpclient">Java 11 HTTP Client supported&lt;/a> for Java users running Java versions 11+&lt;/li>
&lt;li>Various language specific bug fixes; see the full list of changes in the
&lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads#bindings">Changelogs&lt;/a>.&lt;/li>
&lt;/ul>
&lt;p>Huge thanks to all the external contributors who made this version possible:&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div></description></item><item><title>Blog: Using Java 11+ HTTP Client in Selenium 4.5.0 and beyond</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/using-java11-httpclient/</link><pubDate>Fri, 16 Sep 2022 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/using-java11-httpclient/</guid><description>
&lt;h3 id="current-http-client-used-in-selenium">Current HTTP client used in Selenium&lt;/h3>
&lt;p>Selenium uses an HTTP client and associated WebSocket client for multiple purposes&lt;/p>
&lt;ul>
&lt;li>To send commands to the WebDriver&lt;/li>
&lt;li>To send commands from the Selenium client library to the Grid&lt;/li>
&lt;li>For various Grid components to communicate with each other depending on the Grid mode&lt;/li>
&lt;li>To create ChromeDevTools protocol and BiDi protocol sessions&lt;/li>
&lt;/ul>
&lt;p>Currently, Selenium uses &lt;a href="https://github.com/AsyncHttpClient/async-http-client">AsyncHttpClient&lt;/a>.
AsyncHttpClient is an open-source library built on top of Netty. It allows the execution of HTTP
requests and responses asynchronously. Additionally it also provides WebSocket support. Hence it
is a good fit.&lt;/p>
&lt;h3 id="why-does-selenium-want-to-move-to-java-11-http-client">Why does Selenium want to move to Java 11+ HTTP Client?&lt;/h3>
&lt;p>While AsyncHttpClient provides the required functionality, the open-source project is not been
actively maintained since June 2021. It coincides with the fact that Java 11+ provides a built-in
HTTP and WebSocket client. Selenium can utilize it to replace AsyncHttpClient.&lt;/p>
&lt;p>Currently, Selenium Java supports Java 8. Selenium has plans to upgrade the minimum version
supported to Java 11. However, it is a sizeable effort. Aligning it with major releases and accompanied
announcements is crucial to ensure the user experience is intact.&lt;/p>
&lt;p>The Selenium server runs great on Java 11+ already, so while we plan to make that the minimum
version in a future release, for now we plan to introduce optional components that can take advantage
of modern Java releases.&lt;/p>
&lt;p>So as a first step towards this move, the Java 11+ HTTP client from Selenium 4.5.0 and above.&lt;/p>
&lt;h3 id="using-java-11-http-client-in-selenium">Using Java 11+ HTTP Client in Selenium&lt;/h3>
&lt;h4 id="prerequisites">Prerequisites:&lt;/h4>
&lt;ul>
&lt;li>Project configured to use Java 11+&lt;/li>
&lt;li>Using Selenium 4.5.0 as a minumum version, find the latest in the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads&lt;/a> page.&lt;/li>
&lt;/ul>
&lt;h4 id="integrating-the-java-11-client">Integrating the Java 11+ client&lt;/h4>
&lt;p>Java 11+ HTTP client sits in its own artifact. It can be imported into projects that use Java 11+.&lt;/p>
&lt;h5 id="add-the-artifact-the-pom">Add the artifact the POM&lt;/h5>
&lt;p>Add the follow dependencies to your pom.xml&lt;/p>
&lt;pre tabindex="0">&lt;code>&amp;lt;dependency&amp;gt;
&amp;lt;groupId&amp;gt;org.seleniumhq.selenium&amp;lt;/groupId&amp;gt;
&amp;lt;artifactId&amp;gt;selenium-java&amp;lt;/artifactId&amp;gt;
&amp;lt;version&amp;gt;4.5.0&amp;lt;/version&amp;gt;
&amp;lt;/dependency&amp;gt;
&amp;lt;dependency&amp;gt;
&amp;lt;groupId&amp;gt;org.seleniumhq.selenium&amp;lt;/groupId&amp;gt;
&amp;lt;artifactId&amp;gt;selenium-http-jdk-client&amp;lt;/artifactId&amp;gt;
&amp;lt;version&amp;gt;4.5.0&amp;lt;/version&amp;gt;
&amp;lt;/dependency&amp;gt;
&lt;/code>&lt;/pre>&lt;p>&lt;strong>NOTE&lt;/strong>: In the dependencies above version &lt;code>4.5.0&lt;/code> is shown, however we recommend you to check the
&lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads&lt;/a> page to use the latest version released. Make sure the versions used are
matching.&lt;/p>
&lt;h5 id="set-the-system-property">Set the system property&lt;/h5>
&lt;p>Set the system property to indicate that Java 11+ Http client needs to be used.
By default, it uses the AsyncHttpClient.&lt;/p>
&lt;pre tabindex="0">&lt;code> System.setProperty(&amp;#34;webdriver.http.factory&amp;#34;, &amp;#34;jdk-http-client&amp;#34;);
&lt;/code>&lt;/pre>&lt;p>You are all set up to leverage the newly supported client.
The user-experience remains the unchanged. Everything else works as expected.&lt;/p>
&lt;h4 id="using-the-java-11-client-in-grid">Using the Java 11+ client in Grid&lt;/h4>
&lt;p>To do that, you will need to download the &lt;code>selenium-http-jdk-client&lt;/code> jar file and
use the &lt;code>--ext&lt;/code> flag to make it available in the Grid jar&amp;rsquo;s classpath.&lt;/p>
&lt;p>The jar file can be downloaded directly from &lt;a href="https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-http-jdk-client/4.5.0/">repo1.maven.org&lt;/a>
and then start the Grid in the following way:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>java -Dwebdriver.http.factory&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>jdk-http-client -jar selenium-server-4.5.0.jar -—ext selenium-http-jdk-client-4.5.0.jar standalone
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>An alternative to downloading the &lt;code>selenium-http-jdk-client&lt;/code> jar file is to use &lt;a href="https://get-coursier.io/docs/cli-installation">Coursier&lt;/a>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>java -Dwebdriver.http.factory&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>jdk-http-client -jar selenium-server-4.5.0.jar —-ext &lt;span style="color:#204a87;font-weight:bold">$(&lt;/span>coursier fetch -p org.seleniumhq.selenium:selenium-http-jdk-client:4.5.0&lt;span style="color:#204a87;font-weight:bold">)&lt;/span> standalone
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>If you are using the Hub/Node(s) mode or the Distributed mode, setting the &lt;code>-Dwebdriver.http.factory=jdk-http-client&lt;/code> and &lt;code>—-ext&lt;/code> flags
needs to be done for each one of the components.&lt;/p>
&lt;p>&lt;strong>NOTE&lt;/strong>: In the dependencies above version &lt;code>4.5.0&lt;/code> is shown, however we recommend you to check the
&lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">downloads&lt;/a> page to use the latest version released. Make sure the versions used are
matching.&lt;/p>
&lt;p>Huge thanks to Simon Stewart (&lt;a href="https://twitter.com/shs96c">@shs96c&lt;/a>) for making this possible with his contribution!&lt;/p></description></item><item><title>Blog: Selenium 4.4.0 Released!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/selenium-4-4-0-released/</link><pubDate>Tue, 09 Aug 2022 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/selenium-4-4-0-released/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of Selenium 4.4.0. We&amp;rsquo;re shipping
this for Java, .Net, Python, Ruby, and JavaScript, so if you&amp;rsquo;re using any
of those languages, go and grab it from your package manager of choice!&lt;/p>
&lt;p>Some of the main highlights are:&lt;/p>
&lt;ul>
&lt;li>Adding support for CDP released in Chrome v104, while v101 was removed&lt;/li>
&lt;li>Virtual authenticator feature was completed across languages.&lt;/li>
&lt;li>All language bindings will throw an error when &lt;code>w3c: false&lt;/code> is set in &lt;code>ChromeOptions&lt;/code>&lt;/li>
&lt;li>Improved health checks and requests with non W3C locators for Relay Nodes in Grid&lt;/li>
&lt;/ul>
&lt;p>Check the complete changelog and download the artifacts at the
&lt;a href="https://github.com/SeleniumHQ/selenium/releases/tag/selenium-4.4.0">Selenium 4.4.0 release in GitHub&lt;/a>
or directly from the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">Selenium site&lt;/a>.&lt;/p>
&lt;p>Huge thanks to all the contributors who made this version possible:&lt;/p>
&lt;div class="row justify-content-center">
&lt;div class="col-11 p-4 bg-transparent">
&lt;div class="row justify-content-center">
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;div class="alert alert-primary bg-transparent col-10 ps-lg-5 m-4" role="alert">
&lt;h4 class="alert-heading">&lt;code>SELENIUM_CI_TOKEN&lt;/code> not set&lt;/h4>
&lt;p>
If you want to render content fetched from the GitHub API, please create a
&lt;a
href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
target="_blank"
>
personal access token
&lt;/a> and set it as an environment variable named &lt;code>SELENIUM_CI_TOKEN&lt;/code>. More information about token scopes can
be seen at
&lt;a
href="https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes"
target="_blank"
>
available scopes GitHub docs
&lt;/a>
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div></description></item><item><title>Blog: Selenium 4 Release Candidate</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2021/selenium-4-rc-1/</link><pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2021/selenium-4-rc-1/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the first release candidate of Selenium
4. We&amp;rsquo;re shipping this for .Net, Java, Python, Ruby, and JavaScript,
so if you&amp;rsquo;re using any of those languages, go and grab it from your
package manager of choice!&lt;/p>
&lt;p>This release is the result of a lot of work by the Selenium team
project, but most importantly, all the Selenium community who
tried our beta releases, and gave us great and valuable feedback.&lt;/p>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">&lt;a href="https://twitter.com/hashtag/Selenium?src=hash&amp;amp;ref_src=twsrc%5Etfw">#Selenium&lt;/a> 4 Release Candidate for &lt;a href="https://twitter.com/hashtag/ruby?src=hash&amp;amp;ref_src=twsrc%5Etfw">#ruby&lt;/a> is now available! There should be fewer problems running against latest versions of browsers now than with Selenium 3. Please update and let us know of any problems so we can get the production release out the door. &lt;a href="https://t.co/JWbwDRPcj4">https://t.co/JWbwDRPcj4&lt;/a>&lt;/p>&amp;mdash; Titus Fortner (@titusfortner) &lt;a href="https://twitter.com/titusfortner/status/1433114357047627785?ref_src=twsrc%5Etfw">September 1, 2021&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">So, big news: &lt;a href="https://twitter.com/hashtag/Selenium?src=hash&amp;amp;ref_src=twsrc%5Etfw">#Selenium&lt;/a> 4.0 RC1 has just been released! The .NET bindings are available via &lt;a href="https://twitter.com/hashtag/NuGet?src=hash&amp;amp;ref_src=twsrc%5Etfw">#NuGet&lt;/a>, or you can find them at our new binary release point, &lt;a href="https://t.co/CSNK7K47ue">https://t.co/CSNK7K47ue&lt;/a>. We&amp;#39;re closing in on a final, stable 4.0 release, so if you haven&amp;#39;t tried it before now, you should!&lt;/p>&amp;mdash; Jim Evans (@jimevansmusic) &lt;a href="https://twitter.com/jimevansmusic/status/1433140517819322369?ref_src=twsrc%5Etfw">September 1, 2021&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">&lt;a href="https://twitter.com/hashtag/Selenium?src=hash&amp;amp;ref_src=twsrc%5Etfw">#Selenium&lt;/a> 4 RC1 is out! The &lt;a href="https://twitter.com/hashtag/python?src=hash&amp;amp;ref_src=twsrc%5Etfw">#python&lt;/a> bindings are available at &lt;a href="https://t.co/B4zKI6JQkA">https://t.co/B4zKI6JQkA&lt;/a> &lt;a href="https://t.co/kMlDM4ad7I">pic.twitter.com/kMlDM4ad7I&lt;/a>&lt;/p>&amp;mdash; David @automatedtester@mastodon.social (@AutomatedTester) &lt;a href="https://twitter.com/AutomatedTester/status/1433377616065667074?ref_src=twsrc%5Etfw">September 2, 2021&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">Hurrah! &lt;a href="https://twitter.com/hashtag/selenium4?src=hash&amp;amp;ref_src=twsrc%5Etfw">#selenium4&lt;/a> RC1 is out, and the Java bindings have been released! Grab them from your favourite maven repo, or download the binaries from &lt;a href="https://t.co/XUcv7RzbzL">https://t.co/XUcv7RzbzL&lt;/a> &lt;a href="https://t.co/E9T1ZTZ9jd">pic.twitter.com/E9T1ZTZ9jd&lt;/a>&lt;/p>&amp;mdash; Simon Mavi Stewart (@shs96c) &lt;a href="https://twitter.com/shs96c/status/1433474873972641793?ref_src=twsrc%5Etfw">September 2, 2021&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">&lt;a href="https://twitter.com/SeleniumHQ?ref_src=twsrc%5Etfw">@SeleniumHQ&lt;/a> 4 RC 1 is out! This means that Selenium 4 is getting closer and closer 🎉🎉&lt;br>Try out the new Grid through our &lt;a href="https://twitter.com/Docker?ref_src=twsrc%5Etfw">@docker&lt;/a> images -&amp;gt; &lt;a href="https://t.co/lGUrZAQneJ">https://t.co/lGUrZAQneJ&lt;/a> &lt;a href="https://t.co/BzZxPn3p0y">pic.twitter.com/BzZxPn3p0y&lt;/a>&lt;/p>&amp;mdash; Diego Molina (@diegofmolina) &lt;a href="https://twitter.com/diegofmolina/status/1434820167360339968?ref_src=twsrc%5Etfw">September 6, 2021&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;p>One thing you may want to do to get ready for the update (which you
can do before updating the dependency itself!) is to update the
drivers you need. In particular, please update &lt;a href="https://github.com/mozilla/geckodriver/releases">geckodriver&lt;/a> to
0.29.1 or later.&lt;/p>
&lt;p>Most of the new features in Selenium 4 are mentioned in this &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2020/what-is-coming-in-selenium-4-new-tricks/">blog entry&lt;/a>,
but the main highlights are:&lt;/p>
&lt;ul>
&lt;li>Relative locators, for finding elements using terms that make
sense to us humans.&lt;/li>
&lt;li>The ability to intercept network traffic&lt;/li>
&lt;li>Authentication with basic or digest authentication.&lt;/li>
&lt;/ul>
&lt;p>If this sounds interesting, please download the release candidate from your
favourite package manager (maven, nuget, npm, pip, or the gem), or
directly from the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">Selenium site&lt;/a>.&lt;/p></description></item><item><title>Blog: Selenium 4 Beta 1 Released</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2021/selenium-4-beta-1/</link><pubDate>Mon, 15 Feb 2021 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2021/selenium-4-beta-1/</guid><description>
&lt;p>We&amp;rsquo;re very happy to announce the release of the first beta of Selenium
4. We&amp;rsquo;re shipping this for Java, .Net, Python, Ruby, and JavaScript,
so if you&amp;rsquo;re using any of those languages, go and grab it from your
package manager of choice!&lt;/p>
&lt;p>This has been the culmination of a lot of work by so many people, not
only the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/structure/#tlc">project TLC&lt;/a>, but also of literally hundreds of people:
205 since we released Selenium 3.141.59, at the last count. A big
thank you to everybody who&amp;rsquo;s helped make this possible!&lt;/p>
&lt;p>So, what&amp;rsquo;s changed since Selenium 3? The answer is both &amp;ldquo;&lt;strong>not much&lt;/strong>&amp;rdquo;
and also &amp;ldquo;&lt;strong>almost everything&lt;/strong>&amp;rdquo;.&lt;/p>
&lt;p>By &amp;ldquo;&lt;strong>not much&lt;/strong>&amp;rdquo;, I mean that if your tests are working with Selenium
3 right now, you should be able to just upgrade your dependency to
Selenium 4. You will find that things that were marked &amp;ldquo;deprecated&amp;rdquo;
are now gone, but the advantage of the long time between the last
Selenium 3 release and this is that you&amp;rsquo;ve had plenty of time to try
and find alternatives.&lt;/p>
&lt;p>If this doesn&amp;rsquo;t work, please let us know! We&amp;rsquo;ve worked hard to ensure
compatibility between the releases, but it&amp;rsquo;s possible we may have
missed some things.&lt;/p>
&lt;p>One thing you may want to do to get ready for the update (which you
can do before updating the dependency itself!) is to update the
drivers you need. In particular, please update &lt;a href="https://github.com/mozilla/geckodriver/releases">geckodriver&lt;/a> to
0.29.0 or later.&lt;/p>
&lt;p>By &amp;ldquo;&lt;strong>almost everything&lt;/strong>&amp;rdquo;, I mean that under the covers there have
been substantial changes. We&amp;rsquo;ve rewritten the Selenium server to allow
it to work not only in the familiar &amp;ldquo;standalone&amp;rdquo; and &amp;ldquo;hub and node&amp;rdquo;
modes, but also in a new &amp;ldquo;distributed&amp;rdquo; mode, which makes it
signifcantly easier to deploy to something such as Kubernetes in a way
that scales well.&lt;/p>
&lt;p>The new server is also wired up with support for &lt;a href="https://opentelemetry.io">OpenTelemetry&lt;/a> and
exposes a &lt;a href="https://github.com/SeleniumHQ/selenium/blob/selenium-4.0.0-beta-1/java/server/src/org/openqa/selenium/grid/graphql/selenium-grid-schema.graphqls">GraphQL endpoint&lt;/a>, so that figuring what&amp;rsquo;s going
on in the Grid, and tracking down what&amp;rsquo;s gone wrong if something
happens, is easier than ever.&lt;/p>
&lt;p>Not all the changes are server-side. We recently wrote about the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/blog/2020/what-is-coming-in-selenium-4-new-tricks/">new
features in Selenium 4&lt;/a> that you can use in your tests, but some
of the main highlights are:&lt;/p>
&lt;ul>
&lt;li>Relative locators, for finding elements using terms that make
sense to us humans.&lt;/li>
&lt;li>The ability to intercept network traffic&lt;/li>
&lt;li>Authentication with basic or digest authentication.&lt;/li>
&lt;/ul>
&lt;p>We&amp;rsquo;ll be telling you more about these features in later blog posts,
and as we improve our documentation.&lt;/p>
&lt;p>If this sounds interesting, please download the beta from your
favourite package manager (maven, nuget, npm, pip, or the gem), or
directly from the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/downloads">Selenium site&lt;/a>.&lt;/p></description></item><item><title>Blog: Selenium 4.0 Alpha 6 is out!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2020/selenium-4-alpha-6-is-out/</link><pubDate>Mon, 01 Jun 2020 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2020/selenium-4-alpha-6-is-out/</guid><description>
&lt;p>We are very pleased to announce the release of &lt;a href="http://www.selenium.dev/downloads/">Selenium 4.0 Alpha 6&lt;/a>.&lt;/p>
&lt;p>All the information can be seen in different tweets from the project contributors, here they are all in one place:&lt;/p>
&lt;p>&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">Happy Friday! I&amp;#39;ve just pushed Selenium 4.0a6 for Java. There&amp;#39;s a lot of nice changes:&lt;br>&lt;br>* Full remoting of the CDP protocol across the Grid&lt;br>* The skeleton of our GraphQL support&lt;br>* Better configuration options, especially for Nodes, via TOML&lt;br>* A bajillion improvements &amp;amp; fixes&lt;br>&lt;br>1/5&lt;/p>&amp;mdash; Simon Mavi Stewart (@shs96c) &lt;a href="https://twitter.com/shs96c/status/1266307374941437952?ref_src=twsrc%5Etfw">May 29, 2020&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">As ever, this release is the product of hard work and contributions not only from the core team (special thanks to &lt;a href="https://twitter.com/barancev?ref_src=twsrc%5Etfw">@barancev&lt;/a> and &lt;a href="https://twitter.com/diemol?ref_src=twsrc%5Etfw">@diemol&lt;/a>. You&amp;#39;ve done amazing work!) but also from a host of other people. In that spirit, I&amp;#39;d like to thank… 2/5&lt;/p>&amp;mdash; Simon Mavi Stewart (@shs96c) &lt;a href="https://twitter.com/shs96c/status/1266307376279359488?ref_src=twsrc%5Etfw">May 29, 2020&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">In no particular order:&lt;br>&lt;br>* Amit Bhoraniya&lt;br>* @bongosway&lt;br>* Gerry Gao&lt;br>* Sridhar Upputuri&lt;br>* John Chen&lt;br>* @alb_i986&lt;br>* Rahul Shah&lt;br>* &lt;a href="https://twitter.com/ulfjack?ref_src=twsrc%5Etfw">@ulfjack&lt;/a> &lt;br>&lt;br>I&amp;#39;ve linked to the twitter handle where I know it. Give &amp;#39;em a high five! Selenium wouldn&amp;#39;t be possible without the help of the community! 3/5&lt;/p>&amp;mdash; Simon Mavi Stewart (@shs96c) &lt;a href="https://twitter.com/shs96c/status/1266307377420275713?ref_src=twsrc%5Etfw">May 29, 2020&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">I&amp;#39;m hoping that the next alpha will be the last alpha. The &amp;quot;big ticket&amp;quot; items remaining are:&lt;br>&lt;br>* Provide nice APIs to take advantage of the CDP&lt;br>* Flesh out the GraphQL support&lt;br>* A nice UI to take advantage of the GraphQL endpoint&lt;br>* Robustness work in the Grid&lt;br>&lt;br>4/5&lt;/p>&amp;mdash; Simon Mavi Stewart (@shs96c) &lt;a href="https://twitter.com/shs96c/status/1266307378485563392?ref_src=twsrc%5Etfw">May 29, 2020&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">You can come and join in the fun by either heading over to the GitHub project and picking a task (&lt;a href="https://t.co/2ifj6CkeEV">https://t.co/2ifj6CkeEV&lt;/a>) or (and!) coming to have a chat on Slack &lt;a href="https://t.co/4aEDqyI6gq">https://t.co/4aEDqyI6gq&lt;/a> 5/5&lt;/p>&amp;mdash; Simon Mavi Stewart (@shs96c) &lt;a href="https://twitter.com/shs96c/status/1266307379513171968?ref_src=twsrc%5Etfw">May 29, 2020&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">I have just tagged &lt;a href="https://twitter.com/hashtag/Selenium?src=hash&amp;amp;ref_src=twsrc%5Etfw">#Selenium&lt;/a> 4a6 on GitHub. It&amp;#39;s got a lot of nice cleanups as we edge closer to a proper &lt;a href="https://twitter.com/hashtag/Selenium?src=hash&amp;amp;ref_src=twsrc%5Etfw">#Selenium&lt;/a> 4 release!&lt;/p>&amp;mdash; David @automatedtester@mastodon.social (@AutomatedTester) &lt;a href="https://twitter.com/AutomatedTester/status/1266025050706149379?ref_src=twsrc%5Etfw">May 28, 2020&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">selenium-webdriver 4.0.0.alpha6 has just been released. The biggest change is an experimental support for Chrome DevTools protocol! Read more in changelog &lt;a href="https://t.co/1l2XYkaEfB">https://t.co/1l2XYkaEfB&lt;/a>.&lt;a href="https://twitter.com/hashtag/selenium?src=hash&amp;amp;ref_src=twsrc%5Etfw">#selenium&lt;/a> &lt;a href="https://twitter.com/hashtag/ruby?src=hash&amp;amp;ref_src=twsrc%5Etfw">#ruby&lt;/a> &lt;a href="https://twitter.com/hashtag/devtools?src=hash&amp;amp;ref_src=twsrc%5Etfw">#devtools&lt;/a>&lt;/p>&amp;mdash; Alex Rodionov (@p0deje) &lt;a href="https://twitter.com/p0deje/status/1266144106885111814?ref_src=twsrc%5Etfw">May 28, 2020&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;/p>
&lt;p>Happy hacking!&lt;/p></description></item><item><title>Blog: Selenium 3.0: Out Now!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2016/selenium-3-0-out-now/</link><pubDate>Thu, 13 Oct 2016 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2016/selenium-3-0-out-now/</guid><description>
&lt;p>We are very pleased to announce the release of &lt;a href="http://www.seleniumhq.org/download/">Selenium 3.0&lt;/a>. If you’ve been waiting for a stable release since 2.53.1, now’s your chance to update. And if you do, here is what you’ll find:&lt;/p>
&lt;p>As &lt;a href="https://seleniumhq.wordpress.com/2016/10/04/selenium-3-is-coming/">we’ve said before&lt;/a>, for users of the WebDriver APIs this is a drop-in replacement. You’ll find that modern browsers, such as &lt;a href="https://chromedriver.chromium.org/downloads">Chrome&lt;/a> and &lt;a href="https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/">Edge&lt;/a> will continue to work just as before, and we’ve taken the opportunity to fix some bugs and improve stability. Selenium Grid users may require updates to their configuration as the json config file format has been updated, as have some of command line parameter options, but the upgrade should also be smooth.&lt;/p>
&lt;p>The major change in Selenium 3.0 is we’re removing the original Selenium Core implementation and replacing it with one backed by WebDriver. This will affect all users of the &lt;a href="http://seleniumhq.github.io/selenium/docs/api/java/com/thoughtworks/selenium/Selenium.html">Selenium RC&lt;/a> APIs. For more information, please see the &lt;a href="https://seleniumhq.wordpress.com/2016/10/04/selenium-3-is-coming/">previous post&lt;/a>.&lt;/p>
&lt;p>A lot has changed in the 5 years between versions 2 and 3. When we &lt;a href="https://seleniumhq.wordpress.com/2011/07/08/selenium-2-0/">shipped Selenium 2&lt;/a>, the Selenium project was responsible for providing the driver for each browser. Now, we are happy to say that all the major browser vendors ship their own implementations (&lt;a href="https://webkit.org/blog/6900/webdriver-support-in-safari-10/">Apple&lt;/a>, &lt;a href="https://chromedriver.chromium.org/">Google&lt;/a>, &lt;a href="https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/">Microsoft&lt;/a>, and &lt;a href="https://github.com/mozilla/geckodriver/releases">Mozilla&lt;/a>). Because the browser vendors know their browsers better than anyone, their WebDriver implementations can be tightly coupled to the browser, leading to a better testing experience for you.&lt;/p>
&lt;p>The other notable change has been that there is now a &lt;a href="https://www.w3.org/TR/webdriver/">W3C specification&lt;/a> for browser automation, based on the Open Source WebDriver. This has yet to reach “recommendation” status, but the people working on it (including members of the Selenium project!) are now focusing on finishing the text and writing the implementations.&lt;/p>
&lt;p>Mozilla has been a front-runner in implementing the W3C WebDriver protocol. On the plus side, this has exposed problems with the spec as it has evolved, but it also means that Firefox support is hard to track as their engineering efforts have been forward looking, rather than on supporting the current wire protocol used by Selenium WebDriver. For now, the best advice we can offer is for you to try the latest release of &lt;a href="https://github.com/mozilla/geckodriver/releases">geckodriver&lt;/a> and Selenium together.&lt;/p>
&lt;p>These are exciting times for browser automation! Selenium 3.0 is a major release and we’re looking forward to improving things further, as well as tracking the ongoing work of the W3C spec. Our goal is to keep the changes your tests need to deal with to an absolute minimum, to continue preserving the hard work that’s gone into writing your existing tests.&lt;/p>
&lt;p>As a personal note, I’d like to say thank you to each of the many people that have worked so hard to make Selenium 3 possible. That’s not just the developers and contributors to the Open Source project (past and present), but also the engineers from Google, Microsoft, Mozilla, and Apple, and everyone involved with the W3C spec. I’d also like to say thank you to everyone who’s taken the time to report bugs, our users and our community. The project is great fun to work on and you’re the reason for that. A final thank you is due to the Software Freedom Conservancy, who have provided invaluable help with the logistics of running a large OSS project.&lt;/p>
&lt;p>Happy hacking, everyone! May your tests run fast and true!&lt;/p></description></item><item><title>Blog: Selenium 3 is Coming</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2016/selenium-3-is-coming/</link><pubDate>Tue, 04 Oct 2016 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2016/selenium-3-is-coming/</guid><description>
&lt;p>&lt;a href="http://www.seleniumhq.org/download/">Selenium 3&lt;/a> is coming! As I write this, we think that “beta 4” will be the last beta before the official 3.0 release. I’m here to tell you about what’s changed, and what impact this will have on your testing.&lt;/p>
&lt;h3 id="tldr">TL;DR:&lt;/h3>
&lt;ul>
&lt;li>WebDriver users will just find bug fixes and a drop-in replacement for 2.x.&lt;/li>
&lt;li>Selenium Grid users will also find bug fixes and a simple update.&lt;/li>
&lt;li>The WebDriver APIs are now the only APIs actively supported by the Selenium project.&lt;/li>
&lt;li>The Selenium RC APIs have been moved to a “legacy” package.&lt;/li>
&lt;li>The original code powering Selenium RC has been replaced with something backed by WebDriver, which is also contained in the “legacy” package.&lt;/li>
&lt;li>By a quirk of timing, Mozilla have made changes to Firefox that mean that from Firefox 48 you must use their geckodriver to use that browser, regardless of whether you’re using Selenium 2 or 3.&lt;/li>
&lt;/ul>
&lt;h3 id="in-more-depth">In more depth:&lt;/h3>
&lt;p>When we &lt;a href="https://seleniumhq.wordpress.com/2011/07/08/selenium-2-0/">released Selenium 2.0&lt;/a> in 2011, we introduced the new WebDriver APIs, and encouraged everyone to start moving to them. If you’re using the WebDriver APIs, then Selenium 3.0 is a simple drop-in upgrade. We’ve not changed any of the public WebDriver APIs, and the code is essentially the same as the last 2.x release. If you’re using Selenium Grid, the same applies: in most cases, you can just drop in the new JAR (or update your maven dependency to 3.0.0), and you’re done.&lt;/p>
&lt;p>If the update to Selenium 3 is such a non-event, why did we call this Selenium 3.0? To answer this question, I first need to provide some history, and tell you a little about how Selenium works under the hood. The very first version of Selenium was “just” a very complicated Javascript framework, running in the browser and interpreting the table-based tests you may be familiar with if you use Selenium IDE. We call this “Selenium Core”. This Javascript framework formed the basis of the original implementation of Selenium RC (the oldest set of Selenium APIs, where all the method and functions were on the “&lt;a href="http://seleniumhq.github.io/selenium/docs/api/java/com/thoughtworks/selenium/Selenium.html">Selenium&lt;/a>” interface, and which have been deprecated for some time now). Over time, the needs of modern web testing have grown ever more complicated and sophisticated, and Selenium Core is now less capable of meeting these needs than it was before.&lt;/p>
&lt;p>With Selenium 3.0, we are deleting the original Selenium Core implementation. If you use the old RC interfaces, we provide an alternative implementation that’s backed by WebDriver. This is the same “webdriver-backed selenium” that has been available as part of Selenium 2 since its release. Because the underlying technology has changed from Selenium Core to WebDriver, you may find some places where your existing tests using RC run into issues. Our experience with migrating suites is that it’s normally a systemic issue that can be fixed with a minimal engineering effort (that is, the problem is normally isolated to a few places, and these can be rewritten to avoid problems)&lt;/p>
&lt;p>We’re also removing the original Selenium RC APIs from the main downloads. If you’re a Java user, and need to use them to support existing tests, then you’ll need a dependency to “org.seleniumhq.selenium:selenium-leg-rc:3.0.0” (or later!). It’s strongly recommended that you do not do this unless you absolutely need to.&lt;br>
If you’re someone who runs tests exported from IDE in the table format, there is now a new test runner that the project has made available for you to use that can be &lt;a href="http://www.seleniumhq.org/download/">downloaded&lt;/a> from the project’s website. It takes the same arguments as the old runner, and we’ve done our best to ensure the output of tests remains the same too.&lt;/p>
&lt;p>At the same time as the Selenium project is shipping Selenium 3.0, Mozilla are changing the internals of Firefox in a way that makes it more stable and secure, but which also makes the community provided Firefox Driver no longer work. As such, if you use Firefox for your testing, you’ll need to use the &lt;a href="https://github.com/mozilla/geckodriver/releases">geckodriver&lt;/a>, which is an executable similar to the &lt;a href="https://chromedriver.chromium.org/">chromedriver&lt;/a> and the &lt;a href="https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/">Microsoft WebDriver&lt;/a> for Edge. You’ll need to start using geckodriver even if you’re using Selenium 2 — the change is in the browser, not Selenium. Please be aware that geckodriver is alpha software, based on the evolving W3C WebDriver standard: everyone’s working flat out to give you the best testing experience they can, but there are undoubtedly some bumps in the road when it comes to testing with Firefox.&lt;/p>
&lt;p>This release marks the culmination of a lot of hard work by the Selenium committers and community. I’d like to thank everyone who has been part of this process, and the Selenium users around the world who have done so much to make the project as successful as it is.&lt;/p></description></item><item><title>Blog: Announcing Selenium 3.0-beta1</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2016/announcing-selenium-3-0-beta1/</link><pubDate>Fri, 29 Jul 2016 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2016/announcing-selenium-3-0-beta1/</guid><description>
&lt;p>At SeleniumConf in 2013, we announced that a new major version of Selenium would be released “by Christmas”. Fortunately, we never said which Christmas, as it has taken us a while to make all the changes we wanted to make! We’re excited to announce the release of the first beta — Selenium 3.0.0-beta1.&lt;/p>
&lt;p>We’d love you to try it out on your projects, and provide us with feedback on where the rough edges are before we ship the 3.0 itself! Please remember that this is a beta release, so your feedback is incredibly helpful and valuable in order to help us smooth any rough edges.&lt;/p>
&lt;p>For the last six years we’ve been advising users to switch to the newer WebDriver APIs and to stop using the original RC APIs. With Selenium 3.0, the original implementation of RC has been removed, replaced by one that sits on top of WebDriver. For many users, this change will go completely unnoticed, as they’re no longer using the RC APIs. For those of you who still are, we’ve done our best to make the change as smooth as possible, but &lt;a href="https://github.com/seleniumhq/selenium/issues">we welcome high quality bug reports&lt;/a> to help us fix any problems that occur. Maven users will need to add a dependency on the new “&lt;a href="http://docs.seleniumhq.org/download/maven.jsp">leg-rc&lt;/a>” package to access the old RC APIs.&lt;/p>
&lt;p>There are some other changes that you might need to be aware of:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>You’ll need to be running Java 8&lt;/strong> to use the Java pieces of Selenium. This is the oldest version of Java officially supported by Oracle, so hopefully you’re using it already!&lt;/li>
&lt;li>Support for Firefox is via Mozilla’s &lt;a href="https://github.com/mozilla/geckodriver/releases">geckodriver&lt;/a>.&lt;/li>
&lt;li>Support for Safari is provided on macOS (Sierra or later) via Apple’s own &lt;a href="https://developer.apple.com/library/prerelease/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_0.html">safaridriver&lt;/a>.&lt;/li>
&lt;li>Support for Edge is provided by MS through their &lt;a href="https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/">webdriver server&lt;/a>.&lt;/li>
&lt;li>Only versions 9 or above of IE are supported. Earlier versions may work, but are no longer supported as &lt;a href="https://www.microsoft.com/en-gb/WindowsForBusiness/End-of-IE-support">MS no longer supports them&lt;/a>.&lt;/li>
&lt;/ul>
&lt;p>We’ll be posting more information about Selenium 3.0 to this blog soon, but until then if you’re interested in learning more then &lt;a href="https://www.youtube.com/watch?v=bistojJPR98">a recent webinar by Simon&lt;/a> is a great place to start.&lt;/p></description></item><item><title>Blog: Announcing Selenium 2.26: the “It’s Really Real” Release</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2012/announcing-selenium-2-26/</link><pubDate>Fri, 02 Nov 2012 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2012/announcing-selenium-2-26/</guid><description>
&lt;p>It’s been a long time since we announced a new Selenium release on this blog, as we moved to a model of quicker releases, but we’ve been working on 2.26 for far longer than normal — it’s out! &lt;a href="http://seleniumhq.org/download/">Download&lt;/a> it now! — so I thought it best to let you know. We’re aiming to head back to faster releases, so hopefully you won’t see another blog post about the release for a while (though I’m sure they’ll appear in the “Smatterings of Selenium” posts)&lt;/p>
&lt;p>Some highlights that you might be interested in, include support for the latest and greatest versions of the popular browsers out there (including native events on Firefox 16!), the deletion of deprecated methods from the language bindings, better emulation of user input on IE when dealing with “&lt;a href="http://www.alistapart.com/articles/dropdowns">sucker fish&lt;/a>” style menus, and a slew of bug fixes. There’s more in the &lt;a href="https://code.google.com/p/selenium/source/browse/tags/selenium-2.26.0/java/CHANGELOG">changelog&lt;/a>!&lt;/p>
&lt;p>The inimitable &lt;a href="https://twitter.com/jimevansmusic">Jim Evans&lt;/a> held the Release Bacon for what has become one of our most challenging releases to do, so a big “thank you!” to him. A “thank you”, also, to the rest of the core developers and &lt;a href="https://saucelabs.com/">Sauce Labs&lt;/a> team members who worked on fixing so many bugs and getting our continuous build green, especially Alexei Barantsev who did some amazingly detailed and painstaking work to help the release through. And a final “thank you” to our users: thanks for your feedback and support. 🙂&lt;/p></description></item><item><title>Blog: Announcing Selenium 2.22</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2012/announcing-selenium-2-22/</link><pubDate>Tue, 29 May 2012 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2012/announcing-selenium-2-22/</guid><description>
&lt;p>It’s been a while since the last Selenium release, but I’m happy to announce that Selenium 2.22 is now &lt;a href="http://seleniumhq.org/download/">available for download&lt;/a>. This is a big release for us and features two major changes.&lt;/p>
&lt;p>The first is that &lt;strong>Selenium 2.22 is the first version that requires Java 6&lt;/strong> in order to run. This has been the case for the Selenium Server for some time, but this is the first time the client code has required Java 6. Since Java 5 was &lt;a href="http://www.oracle.com/technetwork/java/eol-135779.html">“end of lifed” in 2009&lt;/a>, we don’t expect this to impact many users.&lt;/p>
&lt;p>The second major change is that &lt;strong>we are now providing a standalone IE server for use with the WebDriver API&lt;/strong>, similar to the one used by the chrome driver. You can get it from the normal download page. This will allow us to update our IE support independently of the rest of the library (again, mirroring how Chrome is supported) For now, there’s a legacy fallback mode you can use that’ll use the same DLL we’ve always used which can be activated by setting the DesiredCapability “useLegacyInternalServer” to boolean “true” when requesting your IE Driver instance.&lt;/p>
&lt;p>Of course, as well as these major changes, there’s the usual host of updates and improvements. We’re continuing to refine the new SafariDriver, and we’re happy to announce native events for Firefox 12. You can check out the other updates in the &lt;a href="http://code.google.com/p/selenium/source/browse/trunk/java/CHANGELOG">CHANGELOG&lt;/a>.&lt;/p></description></item><item><title>Blog: Announcing Selenium 2.19: the Prancing Unicorn release</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2012/announcing-selenium-2-19-the-prancing-unicorn-release/</link><pubDate>Wed, 08 Feb 2012 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2012/announcing-selenium-2-19-the-prancing-unicorn-release/</guid><description>
&lt;p>You might be pleased to hear that Selenium 2.19 has been released (&lt;a href="http://seleniumhq.org/download/">download it from here!&lt;/a>). There’s one big user facing changing that we’d like to tell you about: the webdriver-backed selenium can now be used in supported languages.&lt;/p>
&lt;p>By providing this capability, it’s possible to migrate from RC to the WebDriver APIs without rewriting all your tests in one fell swoop (which must be a Good Thing, right?) An example of how to use it in Python would be:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">driver&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">RemoteWebDriver&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#000">desired_capabilities&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">DesiredCapabilities&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">FIREFOX&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">selenium&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">DefaultSelenium&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;localhost&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span> &lt;span style="color:#0000cf;font-weight:bold">4444&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;, &amp;#39;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">*&lt;/span>&lt;span style="color:#000">webdriver&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;, &amp;#39;&lt;/span>&lt;span style="color:#000">http&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">//&lt;/span>&lt;span style="color:#000">www&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">google&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">com&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">selenium&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#000">start&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#000">driver&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">driver&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Provided you keep a reference to the original webdriver and selenium objects you created you can use the two APIs interchangeably. You’ll see that the magic is the “*webdriver” browser name passed to the selenium instance, and that we pass the webdriver instance when calling start().&lt;/p>
&lt;p>We hope you like it!&lt;/p>
&lt;p>PS: I have no idea why this is the Prancing Unicorn release, but it’s been a while since we named one 🙂&lt;/p></description></item><item><title>Blog: Selenium 2.16 Released: Welcome to 2012!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2012/selenium-2-16-released-welcome-to-2012/</link><pubDate>Thu, 05 Jan 2012 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2012/selenium-2-16-released-welcome-to-2012/</guid><description>
&lt;p>It’s been a while since we last blogged about a Selenium release. Since the release of 2.0, we’ve been attempting to give you a fresh and shiny Selenium release every week (though, in reality, we’re managing to get you one every 10 days on average). This allows you to pick the version that’s most suitable for you and your teams, but provides a route for quick feedback on how we’re doing. I think we’ve now ironed out a lot of the initial problems and bumps we ran into, so we are extremely proud to announce the &lt;a href="http://seleniumhq.org/download/">release of Selenium 2.16&lt;/a>.&lt;/p>
&lt;p>If you’re unsure about what’s been happening since the last time we announced a release here, the best place to look is our &lt;a href="http://selenium.googlecode.com/svn/trunk/java/CHANGELOG">changelog&lt;/a>. The most notable feature in 2.16 is better support for Firefox 9, but if it’s been a while since you’ve last updated, we’ve been beavering away on bug fixes and making existing features work as flawlessly as possible. Now’s a great time to update!&lt;/p>
&lt;p>One of the key tools we use for assessing whether it’s okay to push a release is our continuous build. This watches for each and every change made to the project’s source code, and runs an increasingly vast suite of tests to verify that nothing has broken. Our friends at &lt;a href="http://saucelabs.com/">Sauce Labs&lt;/a> have been extremely generous in providing support for this, and have worked closely with us to make the build as stable and quick as possible. Special kudos and thanks to them!&lt;/p></description></item><item><title>Blog: Selenium 2.9 Released</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-9-released/</link><pubDate>Thu, 20 Oct 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-9-released/</guid><description>
&lt;p>We’re pleased to announce the release of &lt;a href="http://seleniumhq.org/download/">Selenium 2.9&lt;/a>. As well as improving the stability of Grid under high loads, we’ve added an experimental (and temporary!) feature that allows the Firefox driver to use a different mechanism for determining when a page is loaded. This is designed to handle the case where the driver appears to hang, as it’s waiting for all incoming requests to complete before continuing. How to enable this mode is listed in the &lt;a href="http://code.google.com/p/selenium/source/browse/trunk/java/CHANGELOG">changelog&lt;/a>.&lt;/p>
&lt;p>This release also includes an updated &lt;a href="http://code.google.com/p/selenium/downloads/detail?name=android-server-2.9.apk">Android driver&lt;/a>, allowing your tests to run on Ice Cream Sandwich devices.&lt;/p></description></item><item><title>Blog: Selenium 2.8 Released</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-8-released/</link><pubDate>Thu, 06 Oct 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-8-released/</guid><description>
&lt;p>In keeping with our (roughly) weekly releases, Selenium 2.8 was &lt;a href="http://seleniumhq.org/download/">released today&lt;/a> (and on Maven too), &lt;a href="https://code.google.com/p/selenium/source/browse/trunk/java/CHANGELOG">with a *huge* list of bug-fixes&lt;/a>! As well as improved stability, if you’re using the Java API, this release adds the ability to upload files to a RemoteWebDriver server (see &lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/remote/RemoteWebDriver.html#setFileDetector(org.openqa.selenium.remote.FileDetector)">RemoteWebDriver.setFileDetector&lt;/a>).&lt;/p>
&lt;p>Particular thanks have to go out to our two newest committers, Alexei Barancev and Ajay Kemparaj, for the copious bug-fixes they’ve contributed!&lt;/p>
&lt;p>We’re already hard at work getting 2.9 ready for next week with even more more bug-fixes – watch this space!&lt;/p></description></item><item><title>Blog: Selenium 2.6 Released</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-6-released/</link><pubDate>Fri, 16 Sep 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-6-released/</guid><description>
&lt;p>If you’ve been watching this blog carefully you’ll have noticed that the last release announcement we made was for 2.3, so it may come as a surprise that we’re announcing that &lt;a href="http://seleniumhq.org/download/">2.6 has been released&lt;/a> (even on Maven!). Don’t worry: 2.4 and 2.5 were released on time and without muss or fuss. 2.6, on the other hand has been almost three weeks brewing.&lt;/p>
&lt;p>Selenium 2.6 introduces a raft of improvements and stability fixes. Kristian Rosenvold has been working wonders on &lt;a href="http://code.google.com/p/selenium/wiki/Grid2">Grid 2.0&lt;/a>, addressing many reported issues and cleaning up the implementation. In the &lt;a href="http://code.google.com/p/selenium/issues/detail?id=14">finest tradition of the project&lt;/a>, I now &lt;a href="http://code.google.com/p/selenium/issues/detail?id=2475">owe him a dinner&lt;/a> for his hard work. Thank you, Kristian!&lt;/p>
&lt;p>For those of you not using Grid, as well as the normal suite of bug fixes, Selenium 2.6 now supports all versions of Firefox from 3.0 up to 7. For those of you using Java, there is an &lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html">ExpectedConditions&lt;/a> class that supplies many useful criteria when using the &lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/support/ui/Wait.html">Wait&lt;/a> and &lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/support/ui/WebDriverWait.html">WebDriverWait&lt;/a> classes. The packaged version of the &lt;a href="http://www.opera.com/developer/tools/operadriver/">OperaDriver&lt;/a> has also been bumped to 0.7.2, which works hand-in-hand with Opera 11.5 and above.&lt;/p>
&lt;p>We’ve also spent a considerable amount of time and effort working out the kinks in the &lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/interactions/package-frame.html">Advanced User Interactions API&lt;/a>. We’d love to hear how you’re using it, and what the gaps are that you can see. For more details about what’s changed, have a look at the &lt;a href="http://code.google.com/p/selenium/source/browse/trunk/java/CHANGELOG">release notes&lt;/a>.&lt;/p>
&lt;p>The release frequency has dropped recently, but we’re planning to head back to weekly releases from here on in. 2.7 is just around the corner!&lt;/p></description></item><item><title>Blog: Selenium 2.3 Released</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-3-released/</link><pubDate>Tue, 02 Aug 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-3-released/</guid><description>
&lt;p>Continuing our new tradition of weekly releases, we’re very pleased to announce the &lt;a href="http://seleniumhq.org/download/">release of Selenium 2.3&lt;/a>. The release notes for this version are pretty slim:&lt;/p>
&lt;ul>
&lt;li>Better detection of clickable areas in Firefox.&lt;/li>
&lt;li>Merge of Google-contributed code into the underlying javascript libraries used by the drivers.&lt;/li>
&lt;/ul>
&lt;p>We’ve also fixed bugs, one of which was being a nuisance for users of IBM’s JRE. The complete changelog can be found in the zipped downloads or in &lt;a href="http://selenium.googlecode.com/svn/trunk/java/CHANGELOG">our source tree&lt;/a>.&lt;/p>
&lt;p>If you’re a Chrome user, then it’s a great idea to head over to the &lt;a href="http://code.google.com/p/chromium/downloads/list">Chromium project’s download page&lt;/a> to pick up the executable used by the ChromeDriver. It’s recently been updated, and now includes support for handling alerts and prompts! Thanks, Google!&lt;/p></description></item><item><title>Blog: Selenium 2.2 Released</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-2-released/</link><pubDate>Tue, 26 Jul 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-2-released/</guid><description>
&lt;p>The feedback from the last release was heard loud and clear: little and often it is!&lt;/p>
&lt;p>We’re proud to announce the release of &lt;a href="http://seleniumhq.org/download/">Selenium 2.2&lt;/a>. What’s new this time? For many users, this is simply a bug fix release as there are no new major features. One thing you might appreciate is &lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/IllegalLocatorException.html">better exceptions&lt;/a> being thrown when xpath searches return something other than a web element when using the WebDriver APIs, and we’re continuing to tweak the emulation of user events.&lt;/p>
&lt;p>If you’re a .Net user, there is now an official &lt;a href="http://nuget.org/List/Packages/Selenium.WebDriver">NuGet package&lt;/a>, and if you’re a maven user then rest assured the release is heading to the central repo as quickly as we can manage.&lt;/p></description></item><item><title>Blog: Selenium 2.1 Released</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-1-released/</link><pubDate>Mon, 18 Jul 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-1-released/</guid><description>
&lt;p>Now that Selenium 2 has &lt;a href="http://seleniumhq.wordpress.com/2011/07/08/selenium-2-0/">been released&lt;/a>, one of the goals of the project is to provide regular updates to our users and the community. The aim is for these updates to be small and manageable, incrementally addressing issues and problems raised by you. Selenium 2.1, which is &lt;a href="http://seleniumhq.org/download/">launched today&lt;/a>, marks the first of these regular, small releases.&lt;/p>
&lt;p>&lt;a href="http://seleniumhq.org/download/">Selenium 2.1&lt;/a> is largely focused on improving Grid with a host of minor improvements including better tracking of “orphaned” browser instances. There are also some bug fixes in the Firefox and IE WebDrivers, particularly when dealing with elements that are &lt;em>just&lt;/em> off screen, and in making the Selenium RC emulation in the Java bindings more robust when confronted with pages that haven’t started loading.&lt;/p>
&lt;p>As you can see, this is a “bite size” release, but we’d love to know: would you prefer these small, swift releases or larger ones? Please answer in the comments, or on the &lt;a href="groups.google.com/group/selenium-users">mailing list&lt;/a>!&lt;/p></description></item><item><title>Blog: Selenium 2.0: Out Now!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-0/</link><pubDate>Fri, 08 Jul 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-0/</guid><description>
&lt;p>We are very, very pleased to announce the &lt;a href="http://seleniumhq.org/download/">release of Selenium 2.0&lt;/a>. If you’ve been waiting for a stable release since 1.0.3, now’s the chance to update. And if you do, what will you find?&lt;/p>
&lt;p>For users of Selenium 1, this is a drop-in replacement. You’ll find support for modern browsers such as &lt;a href="http://www.mozilla.com/en-US/firefox/new/">Firefox 5&lt;/a> and &lt;a href="http://windows.microsoft.com/en-GB/internet-explorer/products/ie/home">IE 9&lt;/a>, as well as a wealth of bug fixes and stability improvements. That’s one reason to update, but what other reasons are there?&lt;/p>
&lt;p>The big feature of this release — and the reason for the new version number — are the new WebDriver APIs for &lt;a href="http://pypi.python.org/pypi/selenium">Python&lt;/a>, &lt;a href="http://rubygems.org/gems/selenium-webdriver">Ruby&lt;/a>, &lt;a href="http://code.google.com/p/selenium/downloads/list">Java and C#&lt;/a>. These have been in development for over four years, and are already widely used, trusted and depended on. The WebDriver APIs have been written by developers familiar with each language, so they feel like they belong there. We’re very proud of them, and hope you enjoy using them.&lt;/p>
&lt;p>Support for WebDriver is also baked into &lt;a href="http://www.opera.com/">Opera&lt;/a> and &lt;a href="http://www.google.com/chrome">Chrome&lt;/a>, and we’re working closely with &lt;a href="http://www.mozilla.org/">Mozilla&lt;/a> to ensure that their browsers also support it. Looking to the future, WebDriver also works on both Android and iPhone, allowing you to test your sites on the next wave of the Web.&lt;/p>
&lt;p>As well as support by the browser vendors, WebDriver also provides excellent emulation of user inputs using something we call “native events”. Normal browser automation frameworks, including older versions of Selenium, simulate user interactions via the Javascript engine of the browser. This approach is error prone as each browser has its own quirks. “Native events” are fired at the OS level instead, avoiding a large amount of browser-specific complexity.&lt;/p>
&lt;p>Advanced Selenium users will be pleased to hear that the standalone selenium server also includes support for distributed testing via &lt;a href="http://code.google.com/p/selenium/wiki/Grid2">Selenium Grid&lt;/a>. This new Grid implementation supports testing using both the original Selenium API and WebDriver, and has been developed as a collaboration between the current Grid maintainer and an engineer from eBay.&lt;/p>
&lt;p>We’re working hard to ensure that Selenium IDE also supports all these new features and APIs. IDE version 1.1.0 should be released next week, with support for exporting to the four main languages supported by WebDriver. Please keep an eye on this blog for announcements! There will also be follow up posts, exploring and explaining each of the new features, and providing you with more information.&lt;/p>
&lt;p>Of course, Selenium 2.0 is a major milestone, but we’re not done yet. This release marks the point where we expect our APIs to change very little from now on and where we believe it’s a solid release. Like all software, it has niggles and bugs, and we’ll be focusing on addressing these as your feedback comes in.&lt;/p>
&lt;p>As a personal note, I’d like to say thank you to each of the many people that have worked so hard to make this the best Selenium version yet. Not only the developers but also the team working on making our &lt;a href="http://seleniumhq.org/docs/">documentation&lt;/a> clear and easy to read, everyone who’s taken the time to &lt;a href="http://code.google.com/p/selenium/issues/list">report bugs&lt;/a>, and also to you; our &lt;a href="https://groups.google.com/group/webdriver">users&lt;/a> and &lt;a href="https://groups.google.com/group/selenium-users">community&lt;/a>. The project is great fun to work on, and you’re the reason for that. Thank you!&lt;/p></description></item><item><title>Blog: New ChromeDriver</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/new-chromedriver/</link><pubDate>Thu, 07 Jul 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/new-chromedriver/</guid><description>
&lt;p>The ChromeDriver is composed of two major pieces. There are the client APIs, which you use in your tests, and there’s a server part, which the client APIs know how to start and run and which takes the form of an executable called “chromedriver”. The server piece is maintained by the Chromium team, and they’ve just released a new version, with support for Chrome 14 and with bug fixes. If you’re using Selenium 2.0rc3 and you’re also using the ChromeDriver, head over to the &lt;a href="http://code.google.com/p/chromium/downloads/list">Chromium project’s download page&lt;/a> for the latest and greatest!&lt;/p></description></item><item><title>Blog: Selenium IDE 1.0.12 – now with Firefox 5 support</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-ide-1-0-12-firefox-5/</link><pubDate>Mon, 04 Jul 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-ide-1-0-12-firefox-5/</guid><description>
&lt;p>Last week we quietly released Selenium IDE 1.0.12 on the website. It has Firefox 5 support along with other improvements. See the &lt;a href="http://code.google.com/p/selenium/wiki/SeIDEReleaseNotes">release notes&lt;/a> and &lt;a href="http://blog.reallysimplethoughts.com/2011/06/23/selenium-ide-v1-0-12-is-now-here/">unofficial announcement&lt;/a>. Download it &lt;a href="http://seleniumhq.org/download/">here&lt;/a> or ask Firefox to check for plugins updates.&lt;/p>
&lt;p>And for those who did not download 1.0.11 (it was not pushed through the update system) you will want to &lt;a href="http://blog.reallysimplethoughts.com/2011/06/10/does-selenium-ide-v1-0-11-support-changing-formats/">read about the formatter change&lt;/a> that landed.&lt;/p></description></item><item><title>Blog: Selenium 2.0rc3: The “Next One’s The Big One” Release</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-0rc3-the-next-ones-the-big-one-release/</link><pubDate>Mon, 27 Jun 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-0rc3-the-next-ones-the-big-one-release/</guid><description>
&lt;p>When we pushed the 2.0rc1 live, we really hoped that the next release would be 2.0 final. We very quickly got some feedback that encouraged us to push a 2.0rc2. Now, after just under three weeks, we’re launching a third and final release candidate. You can download it from the &lt;a href="http://seleniumhq.org/download/">Selenium HQ&lt;/a> site or directly from &lt;a href="http://code.google.com/p/selenium/downloads/list">Google Code.&lt;/a>&lt;/p>
&lt;p>We think we’ve addressed many of the common issues, added some polish and added a host of bug fixes and minor changes, and we hope to hear your feedback! The following headline changes have been made in Selenium 2rc3:&lt;/p>
&lt;ul>
&lt;li>The deprecated RenderedWebElement interface has now been removed. Most of the functionality has been moved to either &lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html">WebElement&lt;/a> or to the &lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/interactions/Actions.html">Actions&lt;/a> class.&lt;/li>
&lt;li>The deprecated WebElement.getValue() method has been removed. Use &lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html#getAttribute(java.lang.String)">WebElement.getAttribute(“value”)&lt;/a> instead.&lt;/li>
&lt;li>After some debate in the team, “&lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html#setSelected()">WebElement.setSelected&lt;/a>” and “&lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html#toggle()">WebElement.toggle&lt;/a>” have been deprecated. They will be removed in the final release.&lt;/li>
&lt;li>Thanks to the hard work of Mozilla engineers, we now offer Firefox 5 support.&lt;/li>
&lt;li>The &lt;a href="http://www.opera.com/developer/tools/operadriver/">Opera driver&lt;/a>, developed by the lovely chaps at Opera Software, is bundled with this release.&lt;/li>
&lt;li>Improvements in the way that mouse interactions are simulated, particularly when elements are outside the visible area of the page.&lt;/li>
&lt;/ul>
&lt;p>As with almost all releases, there are still some issues left to resolve, but we’re working hard to make Selenium 2.0 as good as it can be.&lt;/p></description></item><item><title>Blog: Selenium 2.0rc2: The Better Working Release</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-0rc2-the-better-working-release/</link><pubDate>Thu, 02 Jun 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-0rc2-the-better-working-release/</guid><description>
&lt;p>You win some and you lose some. We’d been really pleased to get Selenium 2.0rc1 out, so we were pretty disappointed to hear that some of you were running into problems with the Java version of the IE driver not launching IE sometimes. That’s definitely not good, so we fixed the problems and have &lt;a href="http://code.google.com/p/selenium/downloads/list">released Selenium 2.0rc2&lt;/a>. It’s the same as rc1, but with fewer problems 🙂&lt;/p>
&lt;p>We’re still very keen to hear your feedback! Let us know what you think!&lt;/p></description></item><item><title>Blog: Selenium 2.0rc1: The Grid Release</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-0rc1-the-grid-release/</link><pubDate>Wed, 01 Jun 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-0rc1-the-grid-release/</guid><description>
&lt;p>We’re very happy to announce the first Release Candidate for Selenium 2, available for Java, C#, Ruby and Python. The API has been stabilised and the functionality needed for the final 2.0 release is mostly in. We’re going to be working hard to get there as soon as possible, but now’s the perfect time to test the waters and provide us with any feedback you may have! &lt;a href="http://code.google.com/p/selenium/downloads/list">Grab the downloads from the site&lt;/a>!&lt;/p>
&lt;p>Highlights:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://code.google.com/p/selenium/wiki/Grid2">Grid 2&lt;/a>: A major feature of this release is Grid 2, an implementation of the Selenium Grid that supports WebDriver’s wire protocol, allowing tests using Selenium WebDriver to be distributed through it. There are some &lt;a href="http://code.google.com/p/selenium/wiki/Grid2">docs to help you get started&lt;/a> on the wiki.&lt;/li>
&lt;li>New &lt;a href="http://code.google.com/p/selenium/wiki/ChromeDriver">ChromeDriver&lt;/a>: Following a complete rewrite of the ChromeDriver, Selenium 2 is now supported natively by the Chrome browser itself. In order to use this, you must download the &lt;a href="http://code.google.com/p/selenium/downloads/list">chromedriver executable&lt;/a> from the Selenium project site.&lt;/li>
&lt;li>&lt;a href="http://www.opera.com/developer/tools/operadriver/">OperaDriver&lt;/a> support: We’ve bundled the most excellent OperaDriver into the release to make it easy to get started testing with &lt;a href="http://www.opera.com/browser/">Opera&lt;/a>.&lt;/li>
&lt;li>Support for native events in Firefox 4.&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/selenium/wiki/AdvancedUserInteractions">Advanced User Interactions&lt;/a>: An API that allows you to model complex user interactions, such as clicking on an element, holding the shift key, clicking on three more, and then dragging the four elements to a final destination. The entry point to this API is the &lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/interactions/Actions.html">Actions&lt;/a> class.&lt;/li>
&lt;/ul>
&lt;p>We’ve also deleted all methods that were deprecated in 2.0b3 and have marked a number of methods and classes (notably &lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/RenderedWebElement.html">RenderedWebElement&lt;/a> and &lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html#getValue()">WebElement.getValue&lt;/a>) deprecated. These will be deleted in the next release.&lt;/p>
&lt;p>Known issues:&lt;/p>
&lt;ul>
&lt;li>Native events on Linux may not work properly on tests that include alerts and prompts.&lt;/li>
&lt;li>Mouse actions using the Advanced User Interactions API may not work properly for elements that have to be scrolled into view.&lt;/li>
&lt;/ul>
&lt;p>We plan on making our releases more frequent in the run up to 2.0final and polish off the bugs and issues. Stay tuned! This is going to be fun 🙂&lt;/p></description></item><item><title>Blog: Selenium IDE 1.0.11 – Now with Firefox 4 Support!</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-ide-1-0-11-now-with-firefox-4-support/</link><pubDate>Mon, 30 May 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-ide-1-0-11-now-with-firefox-4-support/</guid><description>
&lt;p>We know that you have been waiting eagerly for this release and you have to wait no more. Selenium IDE 1.0.11 is now here and you can get it from the &lt;a href="http://seleniumhq.org/download/">seleniumhq download site&lt;/a>. The update will also be pushed to you automatically over the next couple days.&lt;/p>
&lt;p>Other things of note around this release&lt;br>
•&lt;a href="http://code.google.com/p/selenium/wiki/SeIDEReleaseNotes">Release Notes&lt;br>
&lt;/a>•&lt;a href="http://code.google.com/p/selenium/issues/list">Where to log bugs&lt;/a>&lt;br>
•&lt;a href="http://blog.reallysimplethoughts.com/2011/05/30/welcome-selenium-ide-1-0-11-with-firefox-4-support/">Welcome Selenium IDE 1.0.11 (with Firefox 4 support)&lt;/a>&lt;/p></description></item><item><title>Blog: Selenium 2.0b3: The Next Gen Browser Release</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-0b3-the-next-gen-browser-release/</link><pubDate>Mon, 21 Mar 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-0b3-the-next-gen-browser-release/</guid><description>
&lt;p>It’s been about 5 weeks since the release of beta 2, so we’re very pleased to announce that Selenium 2.0b3 has just been released simultaneously for Java, .Net, Ruby and Python. You can &lt;a href="http://seleniumhq.org/download/">download it from Selenium HQ&lt;/a> or from the &lt;a href="http://code.google.com/p/selenium/downloads/list">Google Code site&lt;/a>. This release focused on providing excellent support for the next generation of browsers, particularly IE 9 and Firefox 4, and we think you’ll like what you’ll find.&lt;/p>
&lt;ul>
&lt;li>Restructured documentation at &lt;a href="http://seleniumhq.org/docs/">Selenium HQ&lt;/a>&lt;/li>
&lt;li>An improved user interaction API
&lt;ul>
&lt;li>Including experimental IME support on Windows.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Alerts and prompts handling for IE.&lt;/li>
&lt;li>Marked the following APIs as obsolete in .Net:
&lt;ul>
&lt;li>IRenderedWebElement.Hover()&lt;/li>
&lt;li>IOptions.Speed&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Even more improvements to the Java webdriver-backed selenium
&lt;ul>
&lt;li>We’ll document the migration path before 2.0b4 is out!&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>A significantly faster &lt;a href="http://selenium.googlecode.com/files/android-server-2.0b3.apk">Android Driver&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>As well as these changes, there’s also the regular clutch of bug fixes and tweaks. For the number crunchers, there were a total of &lt;a href="http://code.google.com/p/selenium/source/list?num=331&amp;amp;start=11749">331 changes&lt;/a> that landed in the 5 weeks since the last release, with the 5 most active contributors working on each of the different languages supported by Selenium.&lt;/p>
&lt;p>In addition to the enormous thanks that go to the developers, I’d like to add a big thank you to the Mozilla engineers who chipped in on the IRC channel at the last minute to help us work through some issues with Core. We’d not have been able to get this release out when we did without their help. Thank you Mozilla!&lt;/p>
&lt;p>The next release will be focused on stabilization work, reducing our bug count and adding support for Grid 2.0.&lt;/p></description></item><item><title>Blog: Selenium 2.0b2 Released</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-0b2-released/</link><pubDate>Tue, 15 Feb 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/selenium-2-0b2-released/</guid><description>
&lt;p>We’ve just released Selenium 2.0b2. If you’re the impatient sort who loves to have the latest and greatest, head over to the &lt;a href="http://code.google.com/p/selenium/downloads/list">download site&lt;/a> and get it while it’s hot. If you’re a Python user, then all you need to do is a simple “pip install -U selenium”. Ruby users can, as ever, simply run “gem install selenium-webdriver”. Maven users need to wait just a little bit longer: we’re going to be checking the release in ASAP.&lt;/p>
&lt;p>Between beta 1 and beta 2, we held a week-long Bug Bash, during which we closed a significant number of bugs. From a user’s perspective, other highlights include:&lt;/p>
&lt;ul>
&lt;li>A more stable, capable iPhone driver.&lt;/li>
&lt;li>Updated &lt;a href="http://code.google.com/p/selenium/downloads/detail?name=selenium-server-2.0b2.zip&amp;amp;can=2&amp;amp;q=">Android driver&lt;/a>.&lt;/li>
&lt;li>Improved python bindings for Selenium WebDriver. The namespace is now “selenium.webdriver”&lt;/li>
&lt;li>Added “&lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/com/thoughtworks/selenium/Selenium.html#getCssCount(java.lang.String)">Selenium.getCssCount&lt;/a>” to mirror “Selenium.getXpathCount”&lt;/li>
&lt;li>“&lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html#getText()">WebElement.getText()&lt;/a>” performs more consistently across different browsers.&lt;/li>
&lt;li>Mono users can use the .Net bindings&lt;/li>
&lt;li>Continued to improve the &lt;a href="http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebDriverBackedSelenium.html">WebDriverBackedSelenium&lt;/a>. If you’re looking to migrate from Selenium 1 to Selenium 2, and want to take your time, this is a useful stepping stone.&lt;/li>
&lt;li>Reworked the Advanced User Interactions APIs. The big change is that the WebDriver APIs no longer rely on classes from the AWT.&lt;/li>
&lt;li>.Net users now have more support classes, to make writing tests less tiresome.&lt;/li>
&lt;li>The remote webdriver makes better use of sockets, which improves stability and scalability on Windows.&lt;/li>
&lt;li>Started to add support for driving multiple IE instances. This is considered experimental, but we’d love to hear it’s working for you!&lt;/li>
&lt;/ul>
&lt;p>If you’re interested in the guts of Selenium 2 and how it worked, then you might find these interesting:&lt;/p>
&lt;ul>
&lt;li>Continued reworking the IE and iPhone drivers to use the Automation Atoms.&lt;/li>
&lt;li>Reworked the structure of the source tree to be more language focused.&lt;/li>
&lt;li>We have the skeleton of a webdriver-backed selenium for Python.&lt;/li>
&lt;/ul>
&lt;p>As you can see, this is a big release. Beta 3 should be out a lot more quickly, and will be focusing on improving support for IE 9 and Firefox 4. Over the course of the 2.0b3 development, we shall also be removing as many deprecated methods as possible, so be sure to remove deprecation warnings from your builds when using 2.0b2!&lt;/p></description></item><item><title>Blog: OperaDriver Released</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/operadriver_released/</link><pubDate>Wed, 09 Feb 2011 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2011/operadriver_released/</guid><description>
&lt;p>I think the word that I’m looking for is “wow”. Perhaps “Wow!” would express the concept a little more clearly. Perhaps “WOW!” would be even clearer. Yes, definitely. “WOW!” is a good way of describing &lt;a href="http://www.opera.com/press/releases/2011/02/09/">this&lt;/a>.&lt;/p>
&lt;p>Before Christmas, Opera Software announced a &lt;a href="http://my.opera.com/core/blog/operawatir-pre-release">pre-release of OperaWatir&lt;/a>, an implementation of the Watir 2 API. What you may not know is that Watir 2 rests on the same WebDriver core as Selenium 2. Today, Opera made the source of the &lt;a href="https://github.com/operasoftware/operadriver">OperaDriver&lt;/a> available on github: &lt;a href="https://github.com/operasoftware/operadriver">https://github.com/operasoftware/operadriver&lt;/a>&lt;/p>
&lt;p>This is “WOW!” It’s the first time a browser manufacturer has released their own implementation of the WebDriver APIs, and it shows how much Opera values test automation. Selenium 2 users now have an easy way to test that their sites work with &lt;a href="http://www.opera.com/products/">Opera&lt;/a>.&lt;/p>
&lt;p>What are you waiting for? Go! Download! Test!&lt;/p></description></item></channel></rss>