Skip to content

switch_to_driver(driver) / switch_to_default_driver() didn't switch the CDP Mode driver #3465

@mdmintz

Description

@mdmintz

switch_to_driver(driver) / switch_to_default_driver() didn't switch the CDP Mode driver


Those methods can be used when using multiple drivers in the same script in order to switch control between drivers.

They are working normally in regular mode, but not in CDP Mode.

Here's a simple example that reproduces the issue:

from seleniumbase import SB

with SB(uc=True, test=True) as sb:
    url1 = "https://seleniumbase.io/demo_page"
    sb.activate_cdp_mode(url1)
    driver1 = sb.driver
    url2 = "https://seleniumbase.io/coffee/"
    driver2 = sb.get_new_driver(undetectable=True)
    sb.activate_cdp_mode(url2)
    print(driver1.get_current_url())
    print(driver2.get_current_url())
    sb.switch_to_default_driver()
    sb.assert_url_contains("demo_page")
    print(sb.get_current_url())
    sb.switch_to_driver(driver2)
    sb.assert_url_contains("coffee")
    print(sb.get_current_url())

Expected output:

https://seleniumbase.io/demo_page
https://seleniumbase.io/coffee/
https://seleniumbase.io/demo_page
https://seleniumbase.io/coffee/

Actual output:

Exception: Expected URL substring [demo_page] does not appear in the full URL [https://seleniumbase.io/coffee/]

It failed on this line: sb.assert_url_contains("demo_page")

Metadata

Metadata

Assignees

Labels

UC Mode / CDP ModeUndetected Chromedriver Mode / CDP ModebugUh oh... Something needs to be fixed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions