Skip to content

Simplify the pure CDP Mode API #3571

Closed
@mdmintz

Description

@mdmintz

Simplify the pure CDP Mode API

Currently, pure CDP Mode may look something like the code shown below.
(Pure CDP Mode is CDP Mode without UC Mode, meaning no Selenium at all.)

import asyncio
from seleniumbase.core import sb_cdp
from seleniumbase.undetected import cdp_driver

url = "https://seleniumbase.io/demo_page"
loop = asyncio.new_event_loop()
driver = cdp_driver.cdp_util.start_sync(guest=True)
page = loop.run_until_complete(driver.get(url))
sb = sb_cdp.CDPMethods(loop, page, driver)
sb.type("textarea", "Some text")
sb.click("button")

With the changes coming in #3567 (already on my local machine), that only simplifies the imports a bit:

import asyncio
from seleniumbase import sb_cdp
from seleniumbase import cdp_driver

url = "https://seleniumbase.io/demo_page"
loop = asyncio.new_event_loop()
driver = cdp_driver.start_sync(guest=True)
page = loop.run_until_complete(driver.get(url))
sb = sb_cdp.CDPMethods(loop, page, driver)
sb.type("textarea", "Some text")
sb.click("button")

I want to simplify it much more, to maybe something like this:

from seleniumbase import sb_cdp

url = "https://seleniumbase.io/demo_page"
sb = sb_cdp.Chrome(url, guest=True)
sb.type("textarea", "Some text")
sb.click("button")

Metadata

Metadata

Assignees

Labels

UC Mode / CDP ModeUndetected Chromedriver Mode / CDP ModeenhancementMaking things better

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions