ddp_utils.browser.backends.selenium.session

import ddp_utils.browser.backends.selenium.session

Owned Selenium session lifecycle.

class ddp_utils.browser.backends.selenium.session.SeleniumBrowserSession(descriptor: BackendDescriptor, native: SeleniumNativeObjects)

Bases: object

Own one Selenium or SeleniumBase browser session.

Parameters

Name

Type

Description

descriptor

BackendDescriptor

Immutable concrete backend descriptor.

native

SeleniumNativeObjects

Explicit provider-native objects.

Examples

Ensure WebDriver is always closed at context exit:

with session:
    session.native.driver.get("https://example.com")

Bind descriptor and owned native objects.

Parameters

Name

Type

Description

descriptor

BackendDescriptor

Immutable concrete backend descriptor.

native

SeleniumNativeObjects

Explicit provider-native objects.

Examples

Backends create sessions after successful launch:

session = SeleniumBrowserSession(descriptor, native)
property descriptor: BackendDescriptor

Return immutable Selenium backend identity and capabilities.

Returns

Concrete backend descriptor.

Examples

Record whether SeleniumBase created the driver:

print(session.descriptor.provider)
property native: SeleniumNativeObjects

Return explicit provider-native Selenium objects.

Returns

WebDriver and optional SeleniumBase object.

Examples

Access raw WebDriver deliberately:

driver = session.native.driver
property closed: bool

Return whether WebDriver resources have been released.

Returns

True after the first successful close call.

Examples

Confirm cleanup after context exit:

assert session.closed
close() → None

Quit the owned WebDriver exactly once.

Examples

Close explicitly outside a context manager:

session.close()