Skip to content

Update python drivers (options) docs with code examples #1845

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Aug 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 71 additions & 3 deletions examples/python/tests/drivers/test_options.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy
from selenium.webdriver.common.proxy import ProxyType


def test_page_load_strategy_normal():
Expand All @@ -7,7 +9,7 @@ def test_page_load_strategy_normal():
options.page_load_strategy = 'normal'
driver = webdriver.Chrome(options=options)

driver.get("http://www.google.com")
driver.get("https://www.selenium.dev/")
driver.quit()


Expand All @@ -17,7 +19,7 @@ def test_page_load_strategy_eager():
options.page_load_strategy = 'eager'
driver = webdriver.Chrome(options=options)

driver.get("http://www.google.com")
driver.get("https://www.selenium.dev/")
driver.quit()


Expand All @@ -27,5 +29,71 @@ def test_page_load_strategy_none():
options.page_load_strategy = 'none'
driver = webdriver.Chrome(options=options)

driver.get("http://www.google.com")
driver.get("https://www.selenium.dev/")
driver.quit()

def test_capabilities():
options = webdriver.ChromeOptions()
options.browser_version = 'stable'
options.platform_name = 'any'
options.accept_insecure_certs = True
driver = webdriver.Chrome(options=options)

driver.get("https://www.selenium.dev/")
driver.quit()

def test_timeouts_script():
options = webdriver.ChromeOptions()
options.timeouts = { 'script': 5000 }
driver = webdriver.Chrome(options=options)

driver.get("https://www.selenium.dev/")
driver.quit()

def test_timeouts_page_load():
options = webdriver.ChromeOptions()
options.timeouts = { 'pageLoad': 5000 }
driver = webdriver.Chrome(options=options)

driver.get("https://www.selenium.dev/")
driver.quit()

def test_timeouts_implicit_wait():
options = webdriver.ChromeOptions()
options.timeouts = { 'implicit': 5000 }
driver = webdriver.Chrome(options=options)

driver.get("https://www.selenium.dev/")
driver.quit()

def test_unhandled_prompt():
options = webdriver.ChromeOptions()
options.unhandled_prompt_behavior = 'accept'
driver = webdriver.Chrome(options=options)

driver.get("https://www.selenium.dev/")
driver.quit()

def test_set_window_rect():
options = webdriver.FirefoxOptions()
options.set_window_rect = True # Full support in Firefox
driver = webdriver.Firefox(options=options)

driver.get("https://www.selenium.dev/")
driver.quit()

def test_strict_file_interactability():
options = webdriver.ChromeOptions()
options.strict_file_interactability = True
driver = webdriver.Chrome(options=options)

driver.get("https://www.selenium.dev/")
driver.quit()

def test_proxy():
options = webdriver.ChromeOptions()
options.proxy = Proxy({ 'proxyType': ProxyType.MANUAL, 'httpProxy' : 'http.proxy:1234'})
driver = webdriver.Chrome(options=options)

driver.get("https://www.selenium.dev/")
driver.quit()
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ on the local machine.
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="examples/python/tests/drivers/test_options.py#L10" >}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand Down Expand Up @@ -64,13 +64,13 @@ and it is recommended to always use `quit` to end the session
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="examples/python/tests/drivers/test_options.py#L13" >}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
{{< /tab >}}
{{< tab header="Ruby" >}}
{{< gh-codeblock path="examples/ruby/spec/drivers/options_spec.rb#L15" >}}
{{< gh-codeblock path="examples/ruby/spec/drivers/options_spec.rb#L16" >}}
{{< /tab >}}
{{< tab header="JavaScript" >}}
{{< badge-code >}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ weight: 3
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="examples/python/tests/drivers/test_options.py#L10" >}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand Down Expand Up @@ -63,13 +63,13 @@ weight: 3
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="examples/python/tests/drivers/test_options.py#L13" >}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
{{< /tab >}}
{{< tab header="Ruby" >}}
{{< gh-codeblock path="examples/ruby/spec/drivers/options_spec.rb#L15" >}}
{{< gh-codeblock path="examples/ruby/spec/drivers/options_spec.rb#L16" >}}
{{< /tab >}}
{{< tab header="JavaScript" >}}
{{< badge-code >}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ on the local machine.
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="examples/python/tests/drivers/test_options.py#L10" >}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand Down Expand Up @@ -64,13 +64,13 @@ and it is recommended to always use `quit` to end the session
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="examples/python/tests/drivers/test_options.py#L13" >}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
{{< /tab >}}
{{< tab header="Ruby" >}}
{{< gh-codeblock path="examples/ruby/spec/drivers/options_spec.rb#L15" >}}
{{< gh-codeblock path="examples/ruby/spec/drivers/options_spec.rb#L16" >}}
{{< /tab >}}
{{< tab header="JavaScript" >}}
{{< badge-code >}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ weight: 3
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="examples/python/tests/drivers/test_options.py#L10" >}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand Down Expand Up @@ -64,13 +64,13 @@ weight: 3
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="examples/python/tests/drivers/test_options.py#L13" >}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
{{< /tab >}}
{{< tab header="Ruby" >}}
{{< gh-codeblock path="examples/ruby/spec/drivers/options_spec.rb#L15" >}}
{{< gh-codeblock path="examples/ruby/spec/drivers/options_spec.rb#L16" >}}
{{< /tab >}}
{{< tab header="JavaScript" >}}
{{< badge-code >}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Browser name is set by default when using an Options class instance.
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="examples/python/tests/drivers/test_options.py#L36" >}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand All @@ -61,7 +61,7 @@ it will be automatically downloaded by [Selenium Manager]({{< ref "../../seleniu
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="examples/python/tests/drivers/test_options.py#L37" >}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand Down Expand Up @@ -117,7 +117,7 @@ event fire is returned.
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/drivers/OptionsTest.java#L14-L16">}}
{{< /tab >}}
{{< tab header="Python" text=true >}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L7-L9">}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L9-L10">}}
{{< /tab >}}
{{< tab header="CSharp" >}}
using OpenQA.Selenium;
Expand Down Expand Up @@ -174,7 +174,7 @@ event fire is returned.
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/drivers/OptionsTest.java#L27-L29">}}
{{< /tab >}}
{{< tab header="Python" text=true >}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L17-L18">}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L19-L20">}}
{{< /tab >}}
{{< tab header="CSharp" >}}
using OpenQA.Selenium;
Expand Down Expand Up @@ -230,7 +230,7 @@ WebDriver only waits until the initial page is downloaded.
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/drivers/OptionsTest.java#L40-L42">}}
{{< /tab >}}
{{< tab header="Python" text=true >}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L27-L28">}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L29-L30">}}
{{< /tab >}}
{{< tab header="CSharp" >}}
using OpenQA.Selenium;
Expand Down Expand Up @@ -290,7 +290,7 @@ setting `platformName` sets the OS at the remote-end.
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L38">}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand Down Expand Up @@ -328,7 +328,7 @@ effect for the entire session.
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L39-40">}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand Down Expand Up @@ -363,7 +363,7 @@ is imposed when a new session is created by WebDriver.
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L47-48">}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand Down Expand Up @@ -392,7 +392,7 @@ _TimeoutException_.
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L55-56">}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand All @@ -419,7 +419,7 @@ is imposed when a new session is created by WebDriver.
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L63-64">}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand Down Expand Up @@ -457,7 +457,7 @@ user prompt encounters at the remote-end. This is defined by
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L71-72">}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand All @@ -482,7 +482,7 @@ Indicates whether the remote end supports all of the [resizing and repositioning
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L79-80">}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand Down Expand Up @@ -510,7 +510,7 @@ when using _Element Send Keys_ with hidden file upload controls.
{{< badge-code >}}
{{< /tab >}}
{{% tab header="Python" %}}
{{< badge-code >}}
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L87-88">}}
{{% /tab %}}
{{< tab header="CSharp" >}}
{{< badge-code >}}
Expand Down Expand Up @@ -571,21 +571,7 @@ public class ProxyTest {
```
{{% /tab %}}
{{% tab header="Python" %}}
```python
from selenium import webdriver

PROXY = "<HOST:PORT>"
webdriver.DesiredCapabilities.FIREFOX['proxy'] = {
"httpProxy": PROXY,
"ftpProxy": PROXY,
"sslProxy": PROXY,
"proxyType": "MANUAL",

}

with webdriver.Firefox() as driver:
driver.get("https://selenium.dev")
```
{{< gh-codeblock path="/examples/python/tests/drivers/test_options.py#L95-96">}}
{{% /tab %}}
{{% tab header="CSharp" %}}
```CSharp
Expand Down
Loading
Loading