Skip to content

Commit 30caa81

Browse files
authored
Merge pull request #3295 from seleniumbase/cdp-mode-patch-13
CDP Mode - Patch 13
2 parents d8d02cd + c666b7a commit 30caa81

File tree

15 files changed

+124
-31
lines changed

15 files changed

+124
-31
lines changed

examples/cdp_mode/ReadMe.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ with SB(uc=True, test=True, locale_code="en", ad_block=True) as sb:
143143
sb.sleep(3)
144144
location = "Anaheim, CA, USA"
145145
sb.cdp.press_keys("input#searchbox", location)
146-
sb.sleep(1)
146+
sb.sleep(2)
147147
sb.cdp.click("div#suggestion-list ul li a")
148148
sb.sleep(1)
149149
sb.cdp.click('div.hotel-card-footer button')

examples/cdp_mode/raw_easyjet.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
sb.sleep(1.2)
2121
sb.cdp.click('input[name="when"]')
2222
sb.sleep(1.2)
23-
sb.cdp.click('[data-testid="month"] button[aria-disabled="false"]')
23+
sb.cdp.click('[data-testid="month"]:last-of-type [aria-disabled="false"]')
2424
sb.sleep(1.2)
2525
sb.cdp.click('[data-testid="month"]:last-of-type [aria-disabled="false"]')
2626
sb.sleep(1.2)

examples/cdp_mode/raw_hyatt.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
sb.sleep(3)
1313
location = "Anaheim, CA, USA"
1414
sb.cdp.press_keys("input#searchbox", location)
15-
sb.sleep(1)
15+
sb.sleep(2)
1616
sb.cdp.click("div#suggestion-list ul li a")
1717
sb.sleep(1)
1818
sb.cdp.click('div.hotel-card-footer button')

examples/cdp_mode/raw_southwest.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,17 @@
77
origin = "DEN"
88
destination = "PHX"
99
sb.cdp.gui_click_element("input#originationAirportCode")
10-
sb.sleep(0.2)
10+
sb.sleep(0.5)
11+
sb.uc_gui_press_keys(" " + "\n")
12+
sb.sleep(0.5)
13+
sb.cdp.gui_click_element("input#originationAirportCode")
14+
sb.sleep(0.5)
1115
sb.uc_gui_press_keys(origin + "\n")
1216
sb.sleep(0.5)
1317
sb.cdp.gui_click_element("h1.heading")
1418
sb.sleep(0.5)
1519
sb.cdp.gui_click_element("input#destinationAirportCode")
16-
sb.sleep(0.2)
20+
sb.sleep(0.5)
1721
sb.uc_gui_press_keys(destination + "\n")
1822
sb.sleep(0.5)
1923
sb.cdp.gui_click_element("h1.heading")

help_docs/method_summary.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,8 @@ self.get_gui_element_rect(selector, by="css selector")
231231

232232
self.get_gui_element_center(selector, by="css selector")
233233

234+
self.get_screen_rect()
235+
234236
self.get_window_rect()
235237

236238
self.get_window_size()
@@ -245,6 +247,10 @@ self.set_window_position(x, y)
245247

246248
self.maximize_window()
247249

250+
self.minimize_window()
251+
252+
self.reset_window_size()
253+
248254
self.switch_to_frame(frame="iframe", timeout=None)
249255

250256
self.switch_to_default_content()

mkdocs_build/requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
regex>=2024.11.6
55
pymdown-extensions>=10.12
6-
pipdeptree>=2.23.4
6+
pipdeptree>=2.24.0
77
python-dateutil>=2.8.2
88
Markdown==3.7
99
markdown2==2.5.1
@@ -20,7 +20,7 @@ lxml==5.3.0
2020
pyquery==2.0.1
2121
readtime==3.0.0
2222
mkdocs==1.6.1
23-
mkdocs-material==9.5.44
23+
mkdocs-material==9.5.46
2424
mkdocs-exclude-search==0.6.6
2525
mkdocs-simple-hooks==0.1.5
2626
mkdocs-material-extensions==1.3.1

requirements.txt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
pip>=24.3.1
22
packaging>=24.2
33
setuptools~=70.2;python_version<"3.10"
4-
setuptools>=75.5.0;python_version>="3.10"
5-
wheel>=0.45.0
4+
setuptools>=75.6.0;python_version>="3.10"
5+
wheel>=0.45.1
66
attrs>=24.2.0
77
certifi>=2024.8.30
88
exceptiongroup>=1.2.2
@@ -37,7 +37,7 @@ trio==0.27.0
3737
trio-websocket==0.11.1
3838
wsproto==1.2.0
3939
websocket-client==1.8.0
40-
selenium==4.26.1
40+
selenium==4.27.1
4141
cssselect==1.2.0
4242
sortedcontainers==2.4.0
4343
execnet==2.1.1
@@ -48,7 +48,8 @@ pytest==8.3.3
4848
pytest-html==2.0.1
4949
pytest-metadata==3.1.1
5050
pytest-ordering==0.6
51-
pytest-rerunfailures==14.0
51+
pytest-rerunfailures==14.0;python_version<"3.9"
52+
pytest-rerunfailures==15.0;python_version>="3.9"
5253
pytest-xdist==3.6.1
5354
parameterized==0.9.0
5455
behave==1.2.6
@@ -64,7 +65,7 @@ rich==13.9.4
6465
# ("pip install -r requirements.txt" also installs this, but "pip install -e ." won't.)
6566

6667
coverage>=7.6.1;python_version<"3.9"
67-
coverage>=7.6.7;python_version>="3.9"
68+
coverage>=7.6.8;python_version>="3.9"
6869
pytest-cov>=5.0.0;python_version<"3.9"
6970
pytest-cov>=6.0.0;python_version>="3.9"
7071
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.32.12"
2+
__version__ = "4.33.0"

seleniumbase/core/browser_launcher.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -216,8 +216,10 @@ def extend_driver(driver):
216216
driver.get_text = DM.get_text
217217
driver.get_active_element_css = DM.get_active_element_css
218218
driver.get_locale_code = DM.get_locale_code
219+
driver.get_screen_rect = DM.get_screen_rect
219220
driver.get_origin = DM.get_origin
220221
driver.get_user_agent = DM.get_user_agent
222+
driver.get_cookie_string = DM.get_cookie_string
221223
driver.highlight = DM.highlight
222224
driver.highlight_click = DM.highlight_click
223225
driver.highlight_if_visible = DM.highlight_if_visible
@@ -234,6 +236,7 @@ def extend_driver(driver):
234236
driver.switch_to_window = DM.switch_to_window
235237
driver.switch_to_tab = DM.switch_to_tab
236238
driver.switch_to_frame = DM.switch_to_frame
239+
driver.reset_window_size = DM.reset_window_size
237240
if hasattr(driver, "proxy"):
238241
driver.set_wire_proxy = DM.set_wire_proxy
239242
return driver
@@ -2447,10 +2450,8 @@ def _set_firefox_options(
24472450
firefox_arg_list = firefox_arg.split(",")
24482451
for firefox_arg_item in firefox_arg_list:
24492452
firefox_arg_item = firefox_arg_item.strip()
2450-
if not firefox_arg_item.startswith("--"):
2451-
if firefox_arg_item.startswith("-"):
2452-
firefox_arg_item = "-" + firefox_arg_item
2453-
else:
2453+
if not firefox_arg_item.startswith("-"):
2454+
if firefox_arg_item.count(os.sep) == 0:
24542455
firefox_arg_item = "--" + firefox_arg_item
24552456
if len(firefox_arg_item) >= 3:
24562457
options.add_argument(firefox_arg_item)

seleniumbase/core/sb_cdp.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,7 @@ def click_visible_elements(self, selector, limit=0):
551551
if (width != 0 or height != 0):
552552
element.click()
553553
click_count += 1
554-
time.sleep(0.042)
554+
time.sleep(0.044)
555555
self.__slow_mode_pause_if_set()
556556
self.loop.run_until_complete(self.page.wait())
557557
except Exception:
@@ -668,10 +668,10 @@ def press_keys(self, selector, text, timeout=settings.SMALL_TIMEOUT):
668668
text = text[:-1]
669669
for key in text:
670670
element.send_keys(key)
671-
time.sleep(0.042)
671+
time.sleep(0.044)
672672
if submit:
673673
element.send_keys("\r\n")
674-
time.sleep(0.042)
674+
time.sleep(0.044)
675675
self.__slow_mode_pause_if_set()
676676
self.loop.run_until_complete(self.page.wait())
677677

@@ -741,7 +741,7 @@ def maximize(self):
741741
return
742742
elif self.get_window()[1].window_state.value == "minimized":
743743
self.loop.run_until_complete(self.page.maximize())
744-
time.sleep(0.042)
744+
time.sleep(0.044)
745745
return self.loop.run_until_complete(self.page.maximize())
746746

747747
def minimize(self):
@@ -751,7 +751,7 @@ def minimize(self):
751751
def medimize(self):
752752
if self.get_window()[1].window_state.value == "minimized":
753753
self.loop.run_until_complete(self.page.medimize())
754-
time.sleep(0.042)
754+
time.sleep(0.044)
755755
return self.loop.run_until_complete(self.page.medimize())
756756

757757
def set_window_rect(self, x, y, width, height):
@@ -760,7 +760,7 @@ def set_window_rect(self, x, y, width, height):
760760
self.page.set_window_size(
761761
left=x, top=y, width=width, height=height)
762762
)
763-
time.sleep(0.042)
763+
time.sleep(0.044)
764764
return self.loop.run_until_complete(
765765
self.page.set_window_size(
766766
left=x, top=y, width=width, height=height)
@@ -1125,7 +1125,7 @@ def gui_press_key(self, key):
11251125
)
11261126
with gui_lock:
11271127
pyautogui.press(key)
1128-
time.sleep(0.042)
1128+
time.sleep(0.044)
11291129
self.__slow_mode_pause_if_set()
11301130
self.loop.run_until_complete(self.page.wait())
11311131

@@ -1139,7 +1139,7 @@ def gui_press_keys(self, keys):
11391139
with gui_lock:
11401140
for key in keys:
11411141
pyautogui.press(key)
1142-
time.sleep(0.042)
1142+
time.sleep(0.044)
11431143
self.__slow_mode_pause_if_set()
11441144
self.loop.run_until_complete(self.page.wait())
11451145

0 commit comments

Comments
 (0)