Skip to content

Commit de9295b

Browse files
authored
Merge pull request #3514 from seleniumbase/cdp-mode-patch-33
CDP Mode - Patch 33
2 parents 291167e + 23d7dea commit de9295b

File tree

12 files changed

+32
-25
lines changed

12 files changed

+32
-25
lines changed

examples/boilerplates/samples/google_test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from .google_objects import HomePage, ResultsPage
55
except Exception:
66
from google_objects import HomePage, ResultsPage
7-
BaseCase.main(__name__, __file__)
7+
BaseCase.main(__name__, __file__, "--uc")
88

99

1010
class GoogleTests(BaseCase):

examples/boilerplates/samples/test_page_objects.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""An example using the Classic Page Object Model."""
22
from seleniumbase import BaseCase
3-
BaseCase.main(__name__, __file__)
3+
BaseCase.main(__name__, __file__, "--uc")
44

55

66
class GooglePage:

examples/cdp_mode/raw_priceline.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
sb.sleep(0.8)
2828
for y in range(1, 9):
2929
sb.scroll_to_y(y * 400)
30-
sb.sleep(1.25)
30+
sb.sleep(0.75)
3131
hotel_names = sb.find_elements('a[data-autobot-element-id*="HOTEL_NAME"]')
3232
hotel_prices = sb.find_elements('span[font-size="4,,,5"]')
3333
print("Priceline Hotels in %s:" % location)

examples/presenter/uc_presentation_4.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -796,7 +796,7 @@ def test_presentation_4(self):
796796
sb.sleep(0.8)
797797
for y in range(1, 9):
798798
sb.scroll_to_y(y * 400)
799-
sb.sleep(1.25)
799+
sb.sleep(0.75)
800800
hotel_names = sb.find_elements(
801801
'a[data-autobot-element-id*="HOTEL_NAME"]'
802802
)

examples/raw_google.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from seleniumbase import SB
22

3-
with SB(test=True) as sb:
3+
with SB(test=True, uc=True) as sb:
44
sb.open("https://google.com/ncr")
55
sb.type('[title="Search"]', "SeleniumBase GitHub page\n")
66
sb.click('[href*="github.com/seleniumbase/"]')

examples/raw_gui_click.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import sys
22
from seleniumbase import SB
33

4-
# An incomplete UserAgent forces CAPTCHA-solving on macOS
5-
agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/126.0.0.0"
4+
# An bad UserAgent forces CAPTCHA-solving on macOS
5+
agent = "cool"
66
if "linux" in sys.platform or "win32" in sys.platform:
77
agent = None # Use the default UserAgent
88

examples/raw_pyautogui.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import sys
22
from seleniumbase import SB
33

4-
# An incomplete UserAgent forces CAPTCHA-solving on macOS
5-
agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/126.0.0.0"
4+
# An bad UserAgent forces CAPTCHA-solving on macOS
5+
agent = "cool"
66
if "linux" in sys.platform or "win32" in sys.platform:
77
agent = None # Use the default UserAgent
88

examples/test_cdp_ad_blocking.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
class CDPNetworkBlockingTests(BaseCase):
66
def test_cdp_network_blocking(self):
77
self.open("about:blank")
8-
if not self.is_chromium():
9-
message = "This test is only for Chromium browsers!"
8+
if self._reuse_session or not self.is_chromium():
9+
message = "Skipping test if reusing session or not Chromium!"
1010
print(message)
1111
self.skip(message)
1212
self.execute_cdp_cmd(

mkdocs_build/requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ pathspec==0.12.1
1414
Babel==2.17.0
1515
paginate==0.5.7
1616
mkdocs==1.6.1
17-
mkdocs-material==9.6.3
17+
mkdocs-material==9.6.4
1818
mkdocs-exclude-search==0.6.6
1919
mkdocs-simple-hooks==0.1.5
2020
mkdocs-material-extensions==1.3.1

seleniumbase/__version__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# seleniumbase package
2-
__version__ = "4.34.13"
2+
__version__ = "4.34.14"

seleniumbase/undetected/__init__.py

+16-10
Original file line numberDiff line numberDiff line change
@@ -454,17 +454,20 @@ def reconnect(self, timeout=0.1):
454454
self.start_session()
455455
time.sleep(0.0075)
456456
with suppress(Exception):
457-
for i in range(5):
458-
if self.current_url.startswith("chrome-extension://"):
457+
for window_handle in self.window_handles:
458+
self.switch_to.window(window_handle)
459+
if self.current_url.startswith(
460+
"chrome-extension://"
461+
):
459462
self.close()
460463
if self.service.is_connectable():
461464
self.stop_client()
462465
self.service.stop()
463466
self.service.start()
464467
self.start_session()
465-
time.sleep(0.0075)
466-
else:
467-
break
468+
time.sleep(0.003)
469+
with suppress(Exception):
470+
self.switch_to.window(self.window_handles[-1])
468471
self._is_connected = True
469472

470473
def disconnect(self):
@@ -487,17 +490,20 @@ def connect(self):
487490
self.start_session()
488491
time.sleep(0.0075)
489492
with suppress(Exception):
490-
for i in range(5):
491-
if self.current_url.startswith("chrome-extension://"):
493+
for window_handle in self.window_handles:
494+
self.switch_to.window(window_handle)
495+
if self.current_url.startswith(
496+
"chrome-extension://"
497+
):
492498
self.close()
493499
if self.service.is_connectable():
494500
self.stop_client()
495501
self.service.stop()
496502
self.service.start()
497503
self.start_session()
498-
time.sleep(0.0075)
499-
else:
500-
break
504+
time.sleep(0.003)
505+
with suppress(Exception):
506+
self.switch_to.window(self.window_handles[-1])
501507
self._is_connected = True
502508

503509
def start_session(self, capabilities=None):

seleniumbase/undetected/webelement.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,11 @@ def uc_click(
2626
driver.js_click(selector, by=by, timeout=1)
2727
else:
2828
super().click()
29+
driver = self._parent
2930
if not reconnect_time:
30-
self._parent.reconnect(0.5)
31+
driver.reconnect(0.5)
3132
else:
32-
self._parent.reconnect(reconnect_time)
33+
driver.reconnect(reconnect_time)
3334

3435
def uc_reconnect(self, reconnect_time=None):
3536
if not reconnect_time:

0 commit comments

Comments
 (0)