diff --git a/docs_source_files/content/webdriver/page_loading_strategy.de.md b/docs_source_files/content/webdriver/page_loading_strategy.de.md index 8c971c012ff9..bc07aae81df4 100644 --- a/docs_source_files/content/webdriver/page_loading_strategy.de.md +++ b/docs_source_files/content/webdriver/page_loading_strategy.de.md @@ -3,3 +3,190 @@ title: "Strategien beim Laden von Webseiten" weight: 8 --- +Defines the current session's page loading strategy. +By default, when Selenium WebDriver loads a page, +it follows the _normal_ pageLoadStrategy. +It is always recommended to stop downloading additional +resources (like images, css, js) when the page loading takes lot of time. + +WebDriver _pageLoadStrategy_ supports the following values: + +## normal + +This will make Selenium WebDriver to wait for the entire page is loaded. +When set to **normal**, Selenium WebDriver waits until the +[load](https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event) event fire is returned. + +By default **normal** is set to browser if none is provided. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NORMAL); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("normal"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## eager + +This will make Selenium WebDriver to wait until the +initial HTML document has been completely loaded and parsed, +and discards loading of stylesheets, images and subframes. + +When set to **eager**, Selenium WebDriver waits until +[DOMContentLoaded](https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event) event fire is returned. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.EAGER); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("eager"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## none + +When set to **none** Selenium WebDriver only waits until the initial page is downloaded. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NONE); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("none"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} diff --git a/docs_source_files/content/webdriver/page_loading_strategy.en.md b/docs_source_files/content/webdriver/page_loading_strategy.en.md index 749228b00c14..1566d0aa695f 100644 --- a/docs_source_files/content/webdriver/page_loading_strategy.en.md +++ b/docs_source_files/content/webdriver/page_loading_strategy.en.md @@ -3,3 +3,190 @@ title: "Page loading strategy" weight: 8 --- +Defines the current session's page loading strategy. +By default, when Selenium WebDriver loads a page, +it follows the _normal_ pageLoadStrategy. +It is always recommended to stop downloading additional +resources (like images, css, js) when the page loading takes lot of time. + +WebDriver _pageLoadStrategy_ supports the following values: + +## normal + +This will make Selenium WebDriver to wait for the entire page is loaded. +When set to **normal**, Selenium WebDriver waits until the +[load](https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event) event fire is returned. + +By default **normal** is set to browser if none is provided. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NORMAL); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("normal"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## eager + +This will make Selenium WebDriver to wait until the +initial HTML document has been completely loaded and parsed, +and discards loading of stylesheets, images and subframes. + +When set to **eager**, Selenium WebDriver waits until +[DOMContentLoaded](https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event) event fire is returned. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.EAGER); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("eager"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## none + +When set to **none** Selenium WebDriver only waits until the initial page is downloaded. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NONE); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("none"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} diff --git a/docs_source_files/content/webdriver/page_loading_strategy.es.md b/docs_source_files/content/webdriver/page_loading_strategy.es.md index 91bf77fb44c4..566a0810749c 100644 --- a/docs_source_files/content/webdriver/page_loading_strategy.es.md +++ b/docs_source_files/content/webdriver/page_loading_strategy.es.md @@ -7,4 +7,192 @@ weight: 8 Page being translated from English to Spanish. Do you speak Spanish? Help us to translate it by sending us pull requests! -{{% /notice %}} \ No newline at end of file +{{% /notice %}} + +Defines the current session's page loading strategy. +By default, when Selenium WebDriver loads a page, +it follows the _normal_ pageLoadStrategy. +It is always recommended to stop downloading additional +resources (like images, css, js) when the page loading takes lot of time. + +WebDriver _pageLoadStrategy_ supports the following values: + +## normal + +This will make Selenium WebDriver to wait for the entire page is loaded. +When set to **normal**, Selenium WebDriver waits until the +[load](https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event) event fire is returned. + +By default **normal** is set to browser if none is provided. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NORMAL); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("normal"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## eager + +This will make Selenium WebDriver to wait until the +initial HTML document has been completely loaded and parsed, +and discards loading of stylesheets, images and subframes. + +When set to **eager**, Selenium WebDriver waits until +[DOMContentLoaded](https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event) event fire is returned. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.EAGER); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("eager"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## none + +When set to **none** Selenium WebDriver only waits until the initial page is downloaded. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NONE); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("none"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} diff --git a/docs_source_files/content/webdriver/page_loading_strategy.fr.md b/docs_source_files/content/webdriver/page_loading_strategy.fr.md index 859822148951..e980d903cbb0 100644 --- a/docs_source_files/content/webdriver/page_loading_strategy.fr.md +++ b/docs_source_files/content/webdriver/page_loading_strategy.fr.md @@ -7,4 +7,192 @@ weight: 8 Page being translated from English to French. Do you speak French? Help us to translate it by sending us pull requests! -{{% /notice %}} \ No newline at end of file +{{% /notice %}} + +Defines the current session's page loading strategy. +By default, when Selenium WebDriver loads a page, +it follows the _normal_ pageLoadStrategy. +It is always recommended to stop downloading additional +resources (like images, css, js) when the page loading takes lot of time. + +WebDriver _pageLoadStrategy_ supports the following values: + +## normal + +This will make Selenium WebDriver to wait for the entire page is loaded. +When set to **normal**, Selenium WebDriver waits until the +[load](https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event) event fire is returned. + +By default **normal** is set to browser if none is provided. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NORMAL); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("normal"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## eager + +This will make Selenium WebDriver to wait until the +initial HTML document has been completely loaded and parsed, +and discards loading of stylesheets, images and subframes. + +When set to **eager**, Selenium WebDriver waits until +[DOMContentLoaded](https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event) event fire is returned. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.EAGER); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("eager"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## none + +When set to **none** Selenium WebDriver only waits until the initial page is downloaded. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NONE); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("none"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} diff --git a/docs_source_files/content/webdriver/page_loading_strategy.ja.md b/docs_source_files/content/webdriver/page_loading_strategy.ja.md index d5feb0200e13..86f1d927c48a 100644 --- a/docs_source_files/content/webdriver/page_loading_strategy.ja.md +++ b/docs_source_files/content/webdriver/page_loading_strategy.ja.md @@ -7,3 +7,191 @@ weight: 8 ページは英語から日本語へ訳されています。 日本語は話せますか?プルリクエストをして翻訳を手伝ってください! {{% /notice %}} + +Defines the current session's page loading strategy. +By default, when Selenium WebDriver loads a page, +it follows the _normal_ pageLoadStrategy. +It is always recommended to stop downloading additional +resources (like images, css, js) when the page loading takes lot of time. + +WebDriver _pageLoadStrategy_ supports the following values: + +## normal + +This will make Selenium WebDriver to wait for the entire page is loaded. +When set to **normal**, Selenium WebDriver waits until the +[load](https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event) event fire is returned. + +By default **normal** is set to browser if none is provided. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NORMAL); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("normal"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## eager + +This will make Selenium WebDriver to wait until the +initial HTML document has been completely loaded and parsed, +and discards loading of stylesheets, images and subframes. + +When set to **eager**, Selenium WebDriver waits until +[DOMContentLoaded](https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event) event fire is returned. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.EAGER); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("eager"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## none + +When set to **none** Selenium WebDriver only waits until the initial page is downloaded. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NONE); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("none"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} diff --git a/docs_source_files/content/webdriver/page_loading_strategy.ko.md b/docs_source_files/content/webdriver/page_loading_strategy.ko.md index 3044fd7621f3..a908f54ce344 100644 --- a/docs_source_files/content/webdriver/page_loading_strategy.ko.md +++ b/docs_source_files/content/webdriver/page_loading_strategy.ko.md @@ -9,3 +9,191 @@ English to Korean. Do you speak Korean? Help us to translate it by sending us pull requests! {{% /notice %}} +Defines the current session's page loading strategy. +By default, when Selenium WebDriver loads a page, +it follows the _normal_ pageLoadStrategy. +It is always recommended to stop downloading additional +resources (like images, css, js) when the page loading takes lot of time. + +WebDriver _pageLoadStrategy_ supports the following values: + +## normal + +This will make Selenium WebDriver to wait for the entire page is loaded. +When set to **normal**, Selenium WebDriver waits until the +[load](https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event) event fire is returned. + +By default **normal** is set to browser if none is provided. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NORMAL); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("normal"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## eager + +This will make Selenium WebDriver to wait until the +initial HTML document has been completely loaded and parsed, +and discards loading of stylesheets, images and subframes. + +When set to **eager**, Selenium WebDriver waits until +[DOMContentLoaded](https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event) event fire is returned. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.EAGER); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("eager"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## none + +When set to **none** Selenium WebDriver only waits until the initial page is downloaded. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NONE); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("none"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + diff --git a/docs_source_files/content/webdriver/page_loading_strategy.nl.md b/docs_source_files/content/webdriver/page_loading_strategy.nl.md index c2cd69ebd1bb..599e379d9494 100644 --- a/docs_source_files/content/webdriver/page_loading_strategy.nl.md +++ b/docs_source_files/content/webdriver/page_loading_strategy.nl.md @@ -8,3 +8,191 @@ weight: 8 English to Dutch. Do you speak Dutch? Help us to translate it by sending us pull requests! {{% /notice %}} + +Defines the current session's page loading strategy. +By default, when Selenium WebDriver loads a page, +it follows the _normal_ pageLoadStrategy. +It is always recommended to stop downloading additional +resources (like images, css, js) when the page loading takes lot of time. + +WebDriver _pageLoadStrategy_ supports the following values: + +## normal + +This will make Selenium WebDriver to wait for the entire page is loaded. +When set to **normal**, Selenium WebDriver waits until the +[load](https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event) event fire is returned. + +By default **normal** is set to browser if none is provided. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NORMAL); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("normal"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## eager + +This will make Selenium WebDriver to wait until the +initial HTML document has been completely loaded and parsed, +and discards loading of stylesheets, images and subframes. + +When set to **eager**, Selenium WebDriver waits until +[DOMContentLoaded](https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event) event fire is returned. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.EAGER); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("eager"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## none + +When set to **none** Selenium WebDriver only waits until the initial page is downloaded. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NONE); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("none"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} diff --git a/docs_source_files/content/webdriver/page_loading_strategy.zh-cn.md b/docs_source_files/content/webdriver/page_loading_strategy.zh-cn.md index 749228b00c14..211c63ac6433 100644 --- a/docs_source_files/content/webdriver/page_loading_strategy.zh-cn.md +++ b/docs_source_files/content/webdriver/page_loading_strategy.zh-cn.md @@ -3,3 +3,191 @@ title: "Page loading strategy" weight: 8 --- +Defines the current session's page loading strategy. +By default, when Selenium WebDriver loads a page, +it follows the _normal_ pageLoadStrategy. +It is always recommended to stop downloading additional +resources (like images, css, js) when the page loading takes lot of time. + +WebDriver _pageLoadStrategy_ supports the following values: + +## normal + +This will make Selenium WebDriver to wait for the entire page is loaded. +When set to **normal**, Selenium WebDriver waits until the +[load](https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event) event fire is returned. + +By default **normal** is set to browser if none is provided. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NORMAL); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("normal"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## eager + +This will make Selenium WebDriver to wait until the +initial HTML document has been completely loaded and parsed, +and discards loading of stylesheets, images and subframes. + +When set to **eager**, Selenium WebDriver waits until +[DOMContentLoaded](https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event) event fire is returned. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.EAGER); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("eager"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} + +## none + +When set to **none** Selenium WebDriver only waits until the initial page is downloaded. + +{{< code-tab >}} + {{< code-panel language="java" >}} +import org.openqa.selenium.PageLoadStrategy; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.chrome.ChromeDriver; + +public class pageLoadStrategy { + public static void main(String[] args) { + ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.setPageLoadStrategy(PageLoadStrategy.NONE); + WebDriver driver = new ChromeDriver(chromeOptions); + try { + // Navigate to Url + driver.get("https://google.com"); + } finally { + driver.quit(); + } + } +} + {{< / code-panel >}} + {{< code-panel language="python" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="c#" >}} + // Please raise a PR + {{< / code-panel >}} + {{< code-panel language="ruby" >}} +# Please raise a PR + {{< / code-panel >}} + {{< code-panel language="javascript" >}} +const {Builder, Capabilities} = require('selenium-webdriver'); +const caps = new Capabilities(); +caps.setPageLoadStrategy("none"); +(async function example() { + let driver = await new Builder(). + withCapabilities(caps). + forBrowser('chrome'). + build(); + try { + // Navigate to Url + await driver.get('https://www.google.com'); + } + finally { + await driver.quit(); + } +})(); + {{< / code-panel >}} + {{< code-panel language="kotlin" >}} +// Please raise a PR + {{< / code-panel >}} +{{< / code-tab >}} +