seleniumbase 4.36.5__py3-none-any.whl → 4.37.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- seleniumbase/__version__.py +1 -1
- seleniumbase/fixtures/base_case.py +7 -0
- seleniumbase/undetected/__init__.py +35 -5
- seleniumbase/undetected/cdp_driver/cdp_util.py +7 -1
- {seleniumbase-4.36.5.dist-info → seleniumbase-4.37.1.dist-info}/METADATA +3 -3
- {seleniumbase-4.36.5.dist-info → seleniumbase-4.37.1.dist-info}/RECORD +10 -10
- {seleniumbase-4.36.5.dist-info → seleniumbase-4.37.1.dist-info}/WHEEL +0 -0
- {seleniumbase-4.36.5.dist-info → seleniumbase-4.37.1.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.36.5.dist-info → seleniumbase-4.37.1.dist-info}/licenses/LICENSE +0 -0
- {seleniumbase-4.36.5.dist-info → seleniumbase-4.37.1.dist-info}/top_level.txt +0 -0
seleniumbase/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.
|
2
|
+
__version__ = "4.37.1"
|
@@ -4871,6 +4871,13 @@ class BaseCase(unittest.TestCase):
|
|
4871
4871
|
|
4872
4872
|
def activate_cdp_mode(self, url=None):
|
4873
4873
|
if hasattr(self.driver, "_is_using_uc") and self.driver._is_using_uc:
|
4874
|
+
if self.__is_cdp_swap_needed():
|
4875
|
+
return # CDP Mode is already active
|
4876
|
+
if not self.is_connected():
|
4877
|
+
self.driver.connect()
|
4878
|
+
current_url = self.get_current_url()
|
4879
|
+
if not current_url.startswith(("about", "data", "chrome")):
|
4880
|
+
self.get_new_driver(undetectable=True)
|
4874
4881
|
self.driver.uc_open_with_cdp_mode(url)
|
4875
4882
|
else:
|
4876
4883
|
self.get_new_driver(undetectable=True)
|
@@ -441,7 +441,13 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
|
|
441
441
|
with suppress(Exception):
|
442
442
|
if self.service.is_connectable():
|
443
443
|
self.stop_client()
|
444
|
-
|
444
|
+
try:
|
445
|
+
self.service.send_remote_shutdown_command()
|
446
|
+
except TypeError:
|
447
|
+
pass
|
448
|
+
finally:
|
449
|
+
with suppress(Exception):
|
450
|
+
self.service._terminate_process()
|
445
451
|
if isinstance(timeout, str):
|
446
452
|
if timeout.lower() == "breakpoint":
|
447
453
|
breakpoint() # To continue:
|
@@ -466,7 +472,13 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
|
|
466
472
|
self.close()
|
467
473
|
if self.service.is_connectable():
|
468
474
|
self.stop_client()
|
469
|
-
|
475
|
+
try:
|
476
|
+
self.service.send_remote_shutdown_command()
|
477
|
+
except TypeError:
|
478
|
+
pass
|
479
|
+
finally:
|
480
|
+
with suppress(Exception):
|
481
|
+
self.service._terminate_process()
|
470
482
|
self.service.start()
|
471
483
|
self.start_session()
|
472
484
|
time.sleep(0.003)
|
@@ -482,7 +494,13 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
|
|
482
494
|
if self.service.is_connectable():
|
483
495
|
self.stop_client()
|
484
496
|
time.sleep(0.003)
|
485
|
-
|
497
|
+
try:
|
498
|
+
self.service.send_remote_shutdown_command()
|
499
|
+
except TypeError:
|
500
|
+
pass
|
501
|
+
finally:
|
502
|
+
with suppress(Exception):
|
503
|
+
self.service._terminate_process()
|
486
504
|
self._is_connected = False
|
487
505
|
|
488
506
|
def connect(self):
|
@@ -507,7 +525,13 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
|
|
507
525
|
self.close()
|
508
526
|
if self.service.is_connectable():
|
509
527
|
self.stop_client()
|
510
|
-
|
528
|
+
try:
|
529
|
+
self.service.send_remote_shutdown_command()
|
530
|
+
except TypeError:
|
531
|
+
pass
|
532
|
+
finally:
|
533
|
+
with suppress(Exception):
|
534
|
+
self.service._terminate_process()
|
511
535
|
self.service.start()
|
512
536
|
self.start_session()
|
513
537
|
time.sleep(0.003)
|
@@ -539,7 +563,13 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
|
|
539
563
|
logger.debug("Stopping webdriver service")
|
540
564
|
with suppress(Exception):
|
541
565
|
self.stop_client()
|
542
|
-
|
566
|
+
try:
|
567
|
+
self.service.send_remote_shutdown_command()
|
568
|
+
except TypeError:
|
569
|
+
pass
|
570
|
+
finally:
|
571
|
+
with suppress(Exception):
|
572
|
+
self.service._terminate_process()
|
543
573
|
with suppress(Exception):
|
544
574
|
if self.reactor and isinstance(self.reactor, Reactor):
|
545
575
|
logger.debug("Shutting down Reactor")
|
@@ -406,7 +406,13 @@ async def create_from_driver(driver) -> Browser:
|
|
406
406
|
browser = await start(conf)
|
407
407
|
browser._process_pid = driver.browser_pid
|
408
408
|
# Stop chromedriver binary
|
409
|
-
|
409
|
+
try:
|
410
|
+
driver.service.send_remote_shutdown_command()
|
411
|
+
except TypeError:
|
412
|
+
pass
|
413
|
+
finally:
|
414
|
+
with suppress(Exception):
|
415
|
+
driver.service._terminate_process()
|
410
416
|
driver.browser_pid = -1
|
411
417
|
driver.user_data_dir = None
|
412
418
|
return browser
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.
|
3
|
+
Version: 4.37.1
|
4
4
|
Summary: A complete web automation framework for end-to-end testing.
|
5
5
|
Home-page: https://github.com/seleniumbase/SeleniumBase
|
6
6
|
Author: Michael Mintz
|
@@ -105,7 +105,7 @@ Requires-Dist: trio-websocket==0.12.2
|
|
105
105
|
Requires-Dist: wsproto==1.2.0
|
106
106
|
Requires-Dist: websocket-client==1.8.0
|
107
107
|
Requires-Dist: selenium==4.27.1; python_version < "3.9"
|
108
|
-
Requires-Dist: selenium==4.
|
108
|
+
Requires-Dist: selenium==4.31.0; python_version >= "3.9"
|
109
109
|
Requires-Dist: cssselect==1.2.0; python_version < "3.9"
|
110
110
|
Requires-Dist: cssselect==1.3.0; python_version >= "3.9"
|
111
111
|
Requires-Dist: sortedcontainers==2.4.0
|
@@ -136,7 +136,7 @@ Provides-Extra: coverage
|
|
136
136
|
Requires-Dist: coverage>=7.6.1; python_version < "3.9" and extra == "coverage"
|
137
137
|
Requires-Dist: coverage>=7.8.0; python_version >= "3.9" and extra == "coverage"
|
138
138
|
Requires-Dist: pytest-cov>=5.0.0; python_version < "3.9" and extra == "coverage"
|
139
|
-
Requires-Dist: pytest-cov>=6.1.
|
139
|
+
Requires-Dist: pytest-cov>=6.1.1; python_version >= "3.9" and extra == "coverage"
|
140
140
|
Provides-Extra: flake8
|
141
141
|
Requires-Dist: flake8==5.0.4; python_version < "3.9" and extra == "flake8"
|
142
142
|
Requires-Dist: flake8==7.2.0; python_version >= "3.9" and extra == "flake8"
|
@@ -3,7 +3,7 @@ sbase/__main__.py,sha256=G0bVB1-DM4PGwQ1KyOupaWCs4ePbChZNNWuX2htim5U,647
|
|
3
3
|
sbase/steps.py,sha256=_WvAjydKqZfTdnZW9LPKkRty-g-lfdUPmLqnZj6ulcs,43013
|
4
4
|
seleniumbase/__init__.py,sha256=JFEY9P5QJqsa1M6ghzLMH2eIPQyh85iglCaQwg8Y8z4,2498
|
5
5
|
seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
|
6
|
-
seleniumbase/__version__.py,sha256=
|
6
|
+
seleniumbase/__version__.py,sha256=SfQ2g9CE1hySBUvIiMmyBJerWmxZm6mNS8pujipJXSY,46
|
7
7
|
seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
8
8
|
seleniumbase/behave/behave_helper.py,sha256=elkl8P9eLulRAioLstE9baYNM9N_PHBmAOcajX-pH_Y,24198
|
9
9
|
seleniumbase/behave/behave_sb.py,sha256=qQF85LoohJBfrPK5ZcPi50v-pWtOrC9qcN1B3Ki_3tY,59401
|
@@ -65,7 +65,7 @@ seleniumbase/extensions/disable_csp.zip,sha256=5RvomXnm2PdivUVcxTV6jfvD8WhTEsQYH
|
|
65
65
|
seleniumbase/extensions/recorder.zip,sha256=OOyzF-Ize2cSRu1CqhzSAq5vusI9hqLLd2OIApUHesI,11918
|
66
66
|
seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
|
67
67
|
seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
68
|
-
seleniumbase/fixtures/base_case.py,sha256=
|
68
|
+
seleniumbase/fixtures/base_case.py,sha256=tv65GtPheFm9T2B2VtGP8ooDRejOtyAizcICYw7I_GY,725685
|
69
69
|
seleniumbase/fixtures/constants.py,sha256=WMrItuNyKq3XVJ64NluLIRc4gJCxDw8K8qXED0b9S2w,13752
|
70
70
|
seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
|
71
71
|
seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
|
@@ -106,7 +106,7 @@ seleniumbase/translate/portuguese.py,sha256=x3P4qxp56UiI41GoaL7JbUvFRYsgXU1EKjTg
|
|
106
106
|
seleniumbase/translate/russian.py,sha256=TyN9n0b4GRWDEYnHRGw1rfNAscdDmP3F3Y3aySM3C7s,27978
|
107
107
|
seleniumbase/translate/spanish.py,sha256=hh3xgW1Pq122SHYVvJAxFaXhFrjniOVncVbJbfWqOUM,25528
|
108
108
|
seleniumbase/translate/translator.py,sha256=wPhZH6e5NhmebYL1kP2eGxUcVy1gfTb6XCH8ATEPpxE,49238
|
109
|
-
seleniumbase/undetected/__init__.py,sha256=
|
109
|
+
seleniumbase/undetected/__init__.py,sha256=xvbUlPJEF7nAkdy9bxca5W-ltX6cI38lMyJGwVetPPM,26230
|
110
110
|
seleniumbase/undetected/cdp.py,sha256=RLpwZnhUvmK9tgXcZIBBQedwk2q7Jj_EXZkmzI8WUqk,4023
|
111
111
|
seleniumbase/undetected/dprocess.py,sha256=83EV8ZHJWHG1TSUv9JNClBhdgiBXlkCc6mJ--HsoP3k,1681
|
112
112
|
seleniumbase/undetected/options.py,sha256=BoNuwhrG7oOvuLvTwkvsWCF36pMkS1tHCG-XpP4_EkI,3001
|
@@ -116,7 +116,7 @@ seleniumbase/undetected/webelement.py,sha256=OOpUYbEiOG52KsYYyuDW9tYLdA2SMnukvwQ
|
|
116
116
|
seleniumbase/undetected/cdp_driver/__init__.py,sha256=Ga9alwuaZZy4_XOShc0HjgFnNqpPdrcbjAicz5gE7a4,215
|
117
117
|
seleniumbase/undetected/cdp_driver/_contradict.py,sha256=lP4b0h5quAy573ETn_TBbYV889cL1AuPLVInpJ0ZkiU,3183
|
118
118
|
seleniumbase/undetected/cdp_driver/browser.py,sha256=c-9EWqpD2ZtpDg8edMuw9hYa6GuyOP1qxorNjtsWe1U,30457
|
119
|
-
seleniumbase/undetected/cdp_driver/cdp_util.py,sha256=
|
119
|
+
seleniumbase/undetected/cdp_driver/cdp_util.py,sha256=oKUEHx220PEFvHLW4dz18i4j1Q6HPTdkKx9QOKAVZ3I,21821
|
120
120
|
seleniumbase/undetected/cdp_driver/config.py,sha256=t8KV1Vqa5SQRBq3-gjkHHmj9h85AplAM01asO3AWufs,12507
|
121
121
|
seleniumbase/undetected/cdp_driver/connection.py,sha256=_ounWzQ1m3_t-zJVgOAU2RINiKphfJkw2Qbu-zIoHC0,23359
|
122
122
|
seleniumbase/undetected/cdp_driver/element.py,sha256=FIC6v7OmumLCT-_vIc3H4oju_oBbaLpWJUJIKm2c_q4,40467
|
@@ -135,9 +135,9 @@ seleniumbase/utilities/selenium_grid/start-grid-hub.bat,sha256=Ftq-GrAKRYH2ssDPr
|
|
135
135
|
seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443QFK8PryBpDmKn5Gy0s4o0vDSM,106
|
136
136
|
seleniumbase/utilities/selenium_ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
137
137
|
seleniumbase/utilities/selenium_ide/convert_ide.py,sha256=pZFnqEJQEKZPyNFjkLD29s2HPQgCrWW9XJWpCPhWOoM,31691
|
138
|
-
seleniumbase-4.
|
139
|
-
seleniumbase-4.
|
140
|
-
seleniumbase-4.
|
141
|
-
seleniumbase-4.
|
142
|
-
seleniumbase-4.
|
143
|
-
seleniumbase-4.
|
138
|
+
seleniumbase-4.37.1.dist-info/licenses/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
|
139
|
+
seleniumbase-4.37.1.dist-info/METADATA,sha256=xB2eYfp3qQlq34bB3xpQSx6vsuhDRTAHdzGf0esqm0M,86879
|
140
|
+
seleniumbase-4.37.1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
141
|
+
seleniumbase-4.37.1.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
142
|
+
seleniumbase-4.37.1.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
143
|
+
seleniumbase-4.37.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|