Skip to content

Commit 3638871

Browse files
authored
Merge pull request #4274 from seleniumbase/cdp-mode-patch-96
CDP Mode: Patch 96
2 parents 71a081e + 44edd28 commit 3638871

File tree

17 files changed

+75
-88
lines changed

17 files changed

+75
-88
lines changed

examples/cdp_mode/ReadMe.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,7 @@ sb.cdp.get_rd_port() # Returns the remote-debugging port
390390
sb.cdp.get_rd_url() # Returns the remote-debugging URL
391391
sb.cdp.get_endpoint_url() # Same as sb.cdp.get_rd_url()
392392
sb.cdp.get_port() # Same as sb.cdp.get_rd_port()
393+
sb.cdp.get_websocket_url() # Returns the websocket URL
393394
sb.cdp.add_handler(event, handler)
394395
sb.cdp.find_element(selector, best_match=False, timeout=None)
395396
sb.cdp.find(selector, best_match=False, timeout=None)

examples/cdp_mode/raw_amazon.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from seleniumbase import SB
2+
3+
with SB(uc=True, test=True, ad_block=True) as sb:
4+
url = "https://www.amazon.com"
5+
sb.activate_cdp_mode(url)
6+
sb.sleep(2)
7+
sb.click_if_visible('button[alt="Continue shopping"]')
8+
sb.sleep(2)
9+
sb.press_keys('input[role="searchbox"]', "TI-89\n")
10+
sb.sleep(3)
11+
print(sb.get_page_title())
12+
sb.save_as_pdf_to_logs()
13+
sb.save_page_source_to_logs()
14+
sb.save_screenshot_to_logs()
15+
print("Logs have been saved to: ./latest_logs/")

examples/cdp_mode/raw_facebook.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from seleniumbase import SB
2+
3+
with SB(uc=True, test=True, ad_block=True) as sb:
4+
url = "https://www.facebook.com/SeleniumBase"
5+
sb.activate_cdp_mode(url)
6+
sb.sleep(1)
7+
sb.click_if_visible('[aria-label="Close"] i')
8+
sb.sleep(1)
9+
for i in range(14):
10+
sb.cdp.scroll_down(15)
11+
print(sb.get_page_title())
12+
sb.save_as_pdf_to_logs()
13+
sb.save_page_source_to_logs()
14+
sb.save_screenshot_to_logs()
15+
print("Logs have been saved to: ./latest_logs/")
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import mycdp
2+
from seleniumbase import SB
3+
4+
with SB(uc=True, test=True) as sb:
5+
sb.activate_cdp_mode("https://learn.microsoft.com/en-us/")
6+
tab = sb.cdp.get_active_tab()
7+
loop = sb.cdp.get_event_loop()
8+
print(loop.run_until_complete(tab.send(mycdp.storage.get_cookies())))
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
"""Test connecting to an existing browser."""
2+
from seleniumbase import sb_cdp
3+
4+
sb1 = sb_cdp.Chrome("https://example.com")
5+
port = sb1.get_rd_port()
6+
sb2 = sb_cdp.Chrome(host="127.0.0.1", port=port)
7+
print("The remote-debugging port: %s" % port)
8+
assert sb1.get_rd_port() == sb2.get_rd_port()
9+
assert sb1.get_current_url() == sb2.get_current_url()

help_docs/cdp_mode_methods.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ sb.cdp.get_rd_port() # Returns the remote-debugging port
1717
sb.cdp.get_rd_url() # Returns the remote-debugging URL
1818
sb.cdp.get_endpoint_url() # Same as sb.cdp.get_rd_url()
1919
sb.cdp.get_port() # Same as sb.cdp.get_rd_port()
20+
sb.cdp.get_websocket_url() # Returns the websocket URL
2021
sb.cdp.add_handler(event, handler)
2122
sb.cdp.find_element(selector, best_match=False, timeout=None)
2223
sb.cdp.find(selector, best_match=False, timeout=None)

mkdocs_build/requirements.txt

Lines changed: 2 additions & 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>=2026.2.19
4+
regex>=2026.2.28
55
pymdown-extensions>=10.21
66
pipdeptree>=2.31.0
77
python-dateutil>=2.8.2
@@ -17,4 +17,5 @@ mkdocs==1.6.1
1717
mkdocs-material==9.6.23
1818
mkdocs-exclude-search==0.6.6
1919
mkdocs-simple-hooks==0.1.5
20+
mkdocs-get-deps==0.2.0
2021
mkdocs-material-extensions==1.3.1

requirements.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
pip>=26.0.1
22
packaging>=26.0
33
setuptools~=70.2;python_version<"3.10"
4-
setuptools>=82.0.0;python_version>="3.10"
4+
setuptools>=82.0.1;python_version>="3.10"
55
wheel>=0.46.3
66
attrs>=25.4.0
77
certifi>=2026.2.25
88
exceptiongroup>=1.3.1
99
websockets~=15.0.1;python_version<"3.10"
1010
websockets>=16.0;python_version>="3.10"
1111
filelock~=3.19.1;python_version<"3.10"
12-
filelock>=3.24.3;python_version>="3.10"
12+
filelock>=3.25.1;python_version>="3.10"
1313
fasteners>=0.20
14-
mycdp>=1.3.2
14+
mycdp>=1.3.3
1515
pynose>=1.5.5
1616
platformdirs~=4.4.0;python_version<"3.10"
17-
platformdirs>=4.9.2;python_version>="3.10"
17+
platformdirs>=4.9.4;python_version>="3.10"
1818
typing-extensions>=4.15.0
1919
sbvirtualdisplay>=1.4.0
2020
MarkupSafe>=3.0.3
@@ -29,7 +29,7 @@ pyreadline3>=3.5.4;platform_system=="Windows"
2929
tabcompleter>=1.4.0
3030
pdbp>=1.8.2
3131
idna>=3.11
32-
charset-normalizer>=3.4.4,<4
32+
charset-normalizer>=3.4.5,<4
3333
urllib3>=1.26.20,<2;python_version<"3.10"
3434
urllib3>=1.26.20,<3;python_version>="3.10"
3535
requests~=2.32.5

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.47.1"
2+
__version__ = "4.47.2"

seleniumbase/core/browser_launcher.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -766,6 +766,7 @@ def uc_open_with_cdp_mode(driver, url=None, **kwargs):
766766
cdp.get_rd_port = CDPM.get_rd_port
767767
cdp.get_rd_url = CDPM.get_rd_url
768768
cdp.get_endpoint_url = CDPM.get_endpoint_url
769+
cdp.get_websocket_url = CDPM.get_websocket_url
769770
cdp.get_port = CDPM.get_port
770771
cdp.find_element = CDPM.find_element
771772
cdp.find = CDPM.find_element

0 commit comments

Comments
 (0)