Skip to content

Commit 6bbca0f

Browse files
authored
Merge pull request #4210 from seleniumbase/cdp-mode-patch-92
CDP Mode: Patch 92
2 parents 5afcfec + ed98a5e commit 6bbca0f

File tree

8 files changed

+17
-8
lines changed

8 files changed

+17
-8
lines changed

examples/cdp_mode/ReadMe.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ with SB(uc=True, test=True, ad_block=True) as sb:
308308
print('*** Walmart Search for "%s":' % search)
309309
print(' (Results must contain "%s".)' % required_text)
310310
unique_item_text = []
311-
items = sb.find_elements('div[data-testid="list-view"]')
311+
items = sb.find_elements('div[data-test-id="gpt-main"]')
312312
for item in items:
313313
if required_text in item.text:
314314
description = item.querySelector(

examples/cdp_mode/playwright/raw_walmart_sync.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
print('*** Walmart Search for "%s":' % search)
2222
print(' (Results must contain "%s".)' % required_text)
2323
unique_item = []
24-
items = page.locator('div[data-testid="list-view"]')
24+
items = page.locator('div[data-test-id="gpt-main"]')
2525
for i in range(items.count()):
2626
item = items.nth(i)
2727
if required_text in item.inner_text():

examples/cdp_mode/raw_glassdoor.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
sb.activate_cdp_mode(url)
66
sb.sleep(1.5)
77
sb.solve_captcha()
8+
sb.sleep(0.5)
89
sb.highlight('[data-test="global-nav-glassdoor-logo"]')
910
sb.highlight('[data-test="site-header-companies"]')
1011
sb.highlight('[data-test="search-button"]')

examples/cdp_mode/raw_radwell.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,17 @@
33
with SB(uc=True, test=True, locale="en", incognito=True) as sb:
44
url = "https://www.radwell.com/en-US/Search/Advanced/"
55
sb.activate_cdp_mode(url)
6-
sb.sleep(3)
7-
sb.press_keys("form#basicsearch input", "821C-PM-111DA-142")
86
sb.sleep(1)
7+
sb.press_keys("form#basicsearch input", "821C-PM-111DA-142")
98
sb.click('[value="Search Icon"]')
10-
sb.sleep(3)
9+
sb.sleep(2)
10+
if not sb.is_element_visible("a.manufacturer-link"):
11+
sb.solve_captcha()
12+
sb.sleep(0.5)
1113
sb.assert_text("MAC VALVES INC", "a.manufacturer-link")
1214
sb.highlight("a.manufacturer-link")
15+
description = sb.get_text("div.product-information")
16+
description = description.replace(" ", "")
17+
description = description.replace("\n \n", "\n")
18+
print(description)
1319
sb.sleep(1)

examples/cdp_mode/raw_walmart.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
print('*** Walmart Search for "%s":' % search)
2626
print(' (Results must contain "%s".)' % required_text)
2727
unique_item_text = []
28-
items = sb.find_elements('div[data-testid="list-view"]')
28+
items = sb.find_elements('div[data-test-id="gpt-main"]')
2929
for item in items:
3030
if required_text in item.text:
3131
description = item.querySelector(

mkdocs_build/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# mkdocs dependencies for generating the seleniumbase.io website
22
# Minimum Python version: 3.10 (for generating docs only)
33

4-
regex>=2025.11.3
4+
regex>=2026.1.15
55
pymdown-extensions>=10.20
66
pipdeptree>=2.30.0
77
python-dateutil>=2.8.2

seleniumbase/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# seleniumbase package
2-
__version__ = "4.45.12"
2+
__version__ = "4.45.13"

seleniumbase/undetected/cdp_driver/connection.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,10 +593,12 @@ async def listener_loop(self):
593593
"Connection listener exception "
594594
"while reading websocket:\n%s", e
595595
)
596+
self.idle.set()
596597
break
597598
if not self.running:
598599
# If we have been cancelled or otherwise stopped running,
599600
# then break this loop.
601+
self.idle.set()
600602
break
601603
self.idle.clear() # Not "idle" anymore.
602604
message = json.loads(msg)

0 commit comments

Comments
 (0)