Skip to content

Commit 096c8a1

Browse files
authored
Merge pull request #3910 from seleniumbase/cdp-mode-patch-52
CDP Mode: Patch 52
2 parents f102ced + 4cbff00 commit 096c8a1

File tree

8 files changed

+29
-12
lines changed

8 files changed

+29
-12
lines changed

examples/cdp_mode/ReadMe.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,8 @@ sb.cdp.send_keys(selector, text, timeout=None)
411411
sb.cdp.press_keys(selector, text, timeout=None)
412412
sb.cdp.type(selector, text, timeout=None)
413413
sb.cdp.set_value(selector, text, timeout=None)
414+
sb.cdp.clear_input(selector, timeout=None)
415+
sb.cdp.clear(selector, timeout=None)
414416
sb.cdp.submit(selector)
415417
sb.cdp.evaluate(expression)
416418
sb.cdp.js_dumps(obj_name)

mkdocs_build/requirements.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
# mkdocs dependencies for generating the seleniumbase.io website
22
# Minimum Python version: 3.9 (for generating docs only)
33

4-
regex>=2024.11.6
5-
pymdown-extensions>=10.16
6-
pipdeptree>=2.27.0
4+
regex>=2025.7.34
5+
pymdown-extensions>=10.16.1
6+
pipdeptree>=2.28.0
77
python-dateutil>=2.8.2
88
Markdown==3.8.2
9-
click==8.2.1
9+
click==8.2.2
1010
ghp-import==2.1.0
1111
watchdog==6.0.0
1212
cairocffi==1.7.1
1313
pathspec==0.12.1
1414
Babel==2.17.0
1515
paginate==0.5.7
1616
mkdocs==1.6.1
17-
mkdocs-material==9.6.15
17+
mkdocs-material==9.6.16
1818
mkdocs-exclude-search==0.6.6
1919
mkdocs-simple-hooks==0.1.5
2020
mkdocs-material-extensions==1.3.1

requirements.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
pip>=25.0.1;python_version<"3.9"
2-
pip>=25.1.1;python_version>="3.9"
2+
pip>=25.2;python_version>="3.9"
33
packaging>=25.0
44
setuptools~=70.2;python_version<"3.10"
55
setuptools>=80.9.0;python_version>="3.10"
@@ -71,13 +71,13 @@ pyotp==2.9.0
7171
python-xlib==0.33;platform_system=="Linux"
7272
markdown-it-py==3.0.0
7373
mdurl==0.1.2
74-
rich>=14.0.0,<15
74+
rich>=14.1.0,<15
7575

7676
# --- Testing Requirements --- #
7777
# ("pip install -r requirements.txt" also installs this, but "pip install -e ." won't.)
7878

7979
coverage>=7.6.1;python_version<"3.9"
80-
coverage>=7.9.2;python_version>="3.9"
80+
coverage>=7.10.1;python_version>="3.9"
8181
pytest-cov>=5.0.0;python_version<"3.9"
8282
pytest-cov>=6.2.1;python_version>="3.9"
8383
flake8==5.0.4;python_version<"3.9"

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.40.6"
2+
__version__ = "4.40.7"

seleniumbase/core/browser_launcher.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -742,6 +742,8 @@ def uc_open_with_cdp_mode(driver, url=None, **kwargs):
742742
cdp.send_keys = CDPM.send_keys
743743
cdp.press_keys = CDPM.press_keys
744744
cdp.type = CDPM.type
745+
cdp.clear_input = CDPM.clear_input
746+
cdp.clear = CDPM.clear_input
745747
cdp.set_value = CDPM.set_value
746748
cdp.submit = CDPM.submit
747749
cdp.evaluate = CDPM.evaluate

seleniumbase/core/sb_cdp.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -937,6 +937,16 @@ def type(self, selector, text, timeout=None):
937937
self.__slow_mode_pause_if_set()
938938
self.loop.run_until_complete(self.page.sleep(0.025))
939939

940+
def clear_input(self, selector, timeout=None):
941+
if not timeout:
942+
timeout = settings.SMALL_TIMEOUT
943+
self.__slow_mode_pause_if_set()
944+
element = self.select(selector, timeout=timeout)
945+
element.scroll_into_view()
946+
element.clear_input()
947+
self.__slow_mode_pause_if_set()
948+
self.loop.run_until_complete(self.page.sleep(0.025))
949+
940950
def set_value(self, selector, text, timeout=None):
941951
"""Similar to send_keys(), but clears the text field first."""
942952
if not timeout:

seleniumbase/fixtures/base_case.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1194,6 +1194,9 @@ def clear(self, selector, by="css selector", timeout=None):
11941194
if self.timeout_multiplier and timeout == settings.LARGE_TIMEOUT:
11951195
timeout = self.__get_new_timeout(timeout)
11961196
selector, by = self.__recalculate_selector(selector, by)
1197+
if self.__is_cdp_swap_needed():
1198+
self.cdp.clear_input(selector)
1199+
return
11971200
if self.__is_shadow_selector(selector):
11981201
self.__shadow_clear(selector, timeout)
11991202
return

setup.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@
147147
python_requires=">=3.8",
148148
install_requires=[
149149
'pip>=25.0.1;python_version<"3.9"',
150-
'pip>=25.1.1;python_version>="3.9"',
150+
'pip>=25.2;python_version>="3.9"',
151151
'packaging>=25.0',
152152
'setuptools~=70.2;python_version<"3.10"', # Newer ones had issues
153153
'setuptools>=80.9.0;python_version>="3.10"',
@@ -219,7 +219,7 @@
219219
'python-xlib==0.33;platform_system=="Linux"',
220220
'markdown-it-py==3.0.0',
221221
'mdurl==0.1.2',
222-
'rich>=14.0.0,<15',
222+
'rich>=14.1.0,<15',
223223
],
224224
extras_require={
225225
# pip install -e .[allure]
@@ -234,7 +234,7 @@
234234
# Usage: coverage run -m pytest; coverage html; coverage report
235235
"coverage": [
236236
'coverage>=7.6.1;python_version<"3.9"',
237-
'coverage>=7.9.2;python_version>="3.9"',
237+
'coverage>=7.10.1;python_version>="3.9"',
238238
'pytest-cov>=5.0.0;python_version<"3.9"',
239239
'pytest-cov>=6.2.1;python_version>="3.9"',
240240
],

0 commit comments

Comments
 (0)