seleniumbase 4.34.3__py3-none-any.whl → 4.34.5__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.34.3"
2
+ __version__ = "4.34.5"
@@ -39,6 +39,7 @@ import time
39
39
  import tarfile
40
40
  import urllib3
41
41
  import zipfile
42
+ from contextlib import suppress
42
43
  from seleniumbase.fixtures import constants
43
44
  from seleniumbase.fixtures import shared_utils
44
45
  from seleniumbase import config as sb_config
@@ -1200,7 +1201,7 @@ def main(override=None, intel_for_uc=None, force_uc=None):
1200
1201
  driver_path = None
1201
1202
  driver_file = None
1202
1203
  base_path = os.sep.join(zip_file_path.split(os.sep)[:-1])
1203
- folder_name = contents[0].split(os.sep)[0]
1204
+ folder_name = contents[0].split("/")[0]
1204
1205
  folder_path = os.path.join(base_path, folder_name)
1205
1206
  if IS_MAC or IS_LINUX:
1206
1207
  if (
@@ -1221,12 +1222,14 @@ def main(override=None, intel_for_uc=None, force_uc=None):
1221
1222
  zip_file_path,
1222
1223
  "-DestinationPath",
1223
1224
  downloads_folder,
1225
+ "-Force",
1224
1226
  ]
1225
1227
  )
1226
1228
  else:
1227
1229
  zip_ref.extractall(downloads_folder)
1228
1230
  zip_ref.close()
1229
- os.remove(zip_file_path)
1231
+ with suppress(Exception):
1232
+ os.remove(zip_file_path)
1230
1233
  log_d("%sUnzip Complete!%s\n" % (c2, cr))
1231
1234
  pr_base_path = c3 + base_path + cr
1232
1235
  pr_sep = c3 + os.sep + cr
@@ -1240,7 +1243,7 @@ def main(override=None, intel_for_uc=None, force_uc=None):
1240
1243
  driver_path = None
1241
1244
  driver_file = None
1242
1245
  base_path = os.sep.join(zip_file_path.split(os.sep)[:-1])
1243
- folder_name = contents[0].split(os.sep)[0]
1246
+ folder_name = contents[0].split("/")[0]
1244
1247
  folder_path = os.path.join(base_path, folder_name)
1245
1248
  if IS_MAC or IS_LINUX:
1246
1249
  if (
@@ -1261,12 +1264,14 @@ def main(override=None, intel_for_uc=None, force_uc=None):
1261
1264
  zip_file_path,
1262
1265
  "-DestinationPath",
1263
1266
  downloads_folder,
1267
+ "-Force",
1264
1268
  ]
1265
1269
  )
1266
1270
  else:
1267
1271
  zip_ref.extractall(downloads_folder)
1268
1272
  zip_ref.close()
1269
- os.remove(zip_file_path)
1273
+ with suppress(Exception):
1274
+ os.remove(zip_file_path)
1270
1275
  log_d("%sUnzip Complete!%s\n" % (c2, cr))
1271
1276
  pr_base_path = c3 + base_path + cr
1272
1277
  pr_sep = c3 + os.sep + cr
@@ -247,6 +247,27 @@ def main():
247
247
  data.append("msedgedriver.exe")
248
248
  data.append("operadriver.exe")
249
249
  data.append("uc_driver.exe")
250
+ data.append("chrome-mac-arm64.zip")
251
+ data.append("chrome-mac-x64.zip")
252
+ data.append("chrome-linux64.zip")
253
+ data.append("chrome-win64.zip")
254
+ data.append("chrome-win32.zip")
255
+ data.append("chrome-mac-arm64")
256
+ data.append("chrome-mac-x64")
257
+ data.append("chrome-linux64")
258
+ data.append("chrome-win64")
259
+ data.append("chrome-win32")
260
+ data.append("chrome-headless-shell-mac-arm64.zip")
261
+ data.append("chrome-headless-shell-mac-x64.zip")
262
+ data.append("chrome-headless-shell-linux64.zip")
263
+ data.append("chrome-headless-shell-win64.zip")
264
+ data.append("chrome-headless-shell-win32.zip")
265
+ data.append("chrome-headless-shell-mac-arm64")
266
+ data.append("chrome-headless-shell-mac-x64")
267
+ data.append("chrome-headless-shell-linux64")
268
+ data.append("chrome-headless-shell-win64")
269
+ data.append("chrome-headless-shell-win32")
270
+ data.append("libc++.dylib")
250
271
  data.append("logs")
251
272
  data.append("latest_logs")
252
273
  data.append("log_archives")
@@ -749,6 +749,7 @@ def uc_open_with_cdp_mode(driver, url=None):
749
749
  core_items.browser = cdp.browser
750
750
  core_items.tab = cdp.tab
751
751
  core_items.util = cdp.util
752
+ cdp._swap_driver = CDPM._swap_driver
752
753
  cdp.core = core_items
753
754
  cdp.loop = cdp.get_event_loop()
754
755
  driver.cdp = cdp
@@ -19,6 +19,11 @@ class CDPMethods():
19
19
  self.page = page
20
20
  self.driver = driver
21
21
 
22
+ def _swap_driver(self, driver):
23
+ self.driver = driver
24
+ self.page = driver.cdp.page
25
+ self.loop = driver.cdp.loop
26
+
22
27
  def __slow_mode_pause_if_set(self):
23
28
  if (
24
29
  (hasattr(sb_config, "demo_mode") and sb_config.demo_mode)
@@ -4358,6 +4358,8 @@ class BaseCase(unittest.TestCase):
4358
4358
  self.driver = driver
4359
4359
  if self.driver in self._drivers_browser_map:
4360
4360
  self.browser = self._drivers_browser_map[self.driver]
4361
+ if self.__is_cdp_swap_needed():
4362
+ self.cdp._swap_driver(self.driver)
4361
4363
  self.bring_active_window_to_front()
4362
4364
 
4363
4365
  def switch_to_default_driver(self):
@@ -4366,6 +4368,8 @@ class BaseCase(unittest.TestCase):
4366
4368
  self.driver = self._default_driver
4367
4369
  if self.driver in self._drivers_browser_map:
4368
4370
  self.browser = self._drivers_browser_map[self.driver]
4371
+ if self.__is_cdp_swap_needed():
4372
+ self.cdp._swap_driver(self.driver)
4369
4373
  self.bring_active_window_to_front()
4370
4374
 
4371
4375
  def save_screenshot(
@@ -25,6 +25,7 @@ __all__ = (
25
25
  "CDP",
26
26
  "find_chrome_executable",
27
27
  )
28
+ IS_MAC = "darwin" in sys.platform
28
29
  IS_POSIX = sys.platform.startswith(("darwin", "cygwin", "linux"))
29
30
  logger = logging.getLogger("uc")
30
31
  logger.setLevel(logging.getLogger().getEffectiveLevel())
@@ -311,7 +312,21 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
311
312
  setattr(service_, "creationflags", creationflags)
312
313
  if hasattr(service_, "creation_flags"):
313
314
  setattr(service_, "creation_flags", creationflags)
314
- super().__init__(options=options, service=service_)
315
+ try:
316
+ super().__init__(options=options, service=service_)
317
+ except OSError as e:
318
+ if IS_MAC and "Bad CPU type in executable" in str(e):
319
+ print(str(e))
320
+ message = (
321
+ "Missing a macOS dependency:\n"
322
+ "Your Mac needs Rosetta 2 to use UC Mode!\n"
323
+ 'Run: "softwareupdate --install-rosetta"\n'
324
+ "Info: "
325
+ "https://apple.stackexchange.com/a/408379/607628"
326
+ )
327
+ raise Exception(message)
328
+ else:
329
+ raise
315
330
  self.reactor = None
316
331
  if enable_cdp_events:
317
332
  if logging.getLogger().getEffectiveLevel() == logging.DEBUG:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: seleniumbase
3
- Version: 4.34.3
3
+ Version: 4.34.5
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
@@ -59,13 +59,13 @@ Classifier: Topic :: Utilities
59
59
  Requires-Python: >=3.8
60
60
  Description-Content-Type: text/markdown
61
61
  License-File: LICENSE
62
- Requires-Dist: pip>=24.3.1
62
+ Requires-Dist: pip>=25.0
63
63
  Requires-Dist: packaging>=24.2
64
64
  Requires-Dist: setuptools~=70.2; python_version < "3.10"
65
65
  Requires-Dist: setuptools>=75.8.0; python_version >= "3.10"
66
66
  Requires-Dist: wheel>=0.45.1
67
67
  Requires-Dist: attrs>=25.1.0
68
- Requires-Dist: certifi>=2024.12.14
68
+ Requires-Dist: certifi>=2025.1.31
69
69
  Requires-Dist: exceptiongroup>=1.2.2
70
70
  Requires-Dist: websockets~=13.1; python_version < "3.9"
71
71
  Requires-Dist: websockets>=14.2; python_version >= "3.9"
@@ -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=OtJh8nGKL4xtZpw8KPqmn7Q6R-86t4cWUDyVF5MbMTo,2398
5
5
  seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
6
- seleniumbase/__version__.py,sha256=Uuj5H1Y3skHSX7gCdgBcXPjSC2pPsbPi2kTBbJRhpDo,46
6
+ seleniumbase/__version__.py,sha256=GJLMqHoWsxCiRcclUXSg0XCnzzIpjkts1MI4IMq92v8,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
@@ -25,9 +25,9 @@ seleniumbase/console_scripts/run.py,sha256=6Q9kbpOY40kTczcQVrD-x6thb3QO9-2wfse7D
25
25
  seleniumbase/console_scripts/sb_behave_gui.py,sha256=3Zl7_QQczvkkQW_UuaqYEUlEjiZ6AJzHR9GeNyVVXkc,15147
26
26
  seleniumbase/console_scripts/sb_caseplans.py,sha256=qlmvjQ49bOBE1Q29fVmabimkVibCVr25GNtJhFPTMrc,18145
27
27
  seleniumbase/console_scripts/sb_commander.py,sha256=exQGKzqRAoGqRmQtDmlmoHnSG9eSy9eh8HVy-tXw6s4,13343
28
- seleniumbase/console_scripts/sb_install.py,sha256=GgOqQZZhjwbSle9aB-6Fyf3x6Xlj78uKQ6PkPq-3VEE,55346
28
+ seleniumbase/console_scripts/sb_install.py,sha256=RdByOmTQebibRFk5ym-FtFr0Gf91_ZfOsBB2MN5izUc,55524
29
29
  seleniumbase/console_scripts/sb_mkchart.py,sha256=ep9g-9CSIwaOJKVxhB3xjRQpfsuApyN8-Dr129cNXwQ,10941
30
- seleniumbase/console_scripts/sb_mkdir.py,sha256=SaI2wnjE5eQLxX8RPdjFjM_ghBbMm4r_vBUzU5t5dzY,29819
30
+ seleniumbase/console_scripts/sb_mkdir.py,sha256=TpXjsG-SZE496EFhbR1aJr5tcHRBo57QSmA9nfpxNXs,30713
31
31
  seleniumbase/console_scripts/sb_mkfile.py,sha256=OWYd4yFccmjrd-gNn1t1una-HDRU2_N2-r4Tg3nHsj0,17744
32
32
  seleniumbase/console_scripts/sb_mkpres.py,sha256=EWFRVacjYTX49y-fEiYTZacM9_01IxuuaO4nMjHrIGo,11015
33
33
  seleniumbase/console_scripts/sb_mkrec.py,sha256=PrizjTmyrROYPO0yDm-zQS3QSfsZNeAmcJKKUvfgLhc,11966
@@ -36,7 +36,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=tNy-bMDgwHJO3bZxMpmo9weSE8uhbH0C
36
36
  seleniumbase/console_scripts/sb_recorder.py,sha256=fnHb5-kh11Hit-E9Ha-e4QXzqLcZvtij6mb5qNd4B1Q,11032
37
37
  seleniumbase/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
38
  seleniumbase/core/application_manager.py,sha256=e_0sjtI8cjY5BNyZj1QBR0j6_oCScxGmSXYEpcYwuZE,576
39
- seleniumbase/core/browser_launcher.py,sha256=yBXCddbmRF7LXkM4I67KvYCYIMJovN9_5NucacfaTxk,233695
39
+ seleniumbase/core/browser_launcher.py,sha256=0LbAceSruKdAhz1QFbrJl6NI4OoslqBdbtFYxemmkFY,233736
40
40
  seleniumbase/core/capabilities_parser.py,sha256=meIS2uHapTCq2ldfNAToC7r0cKmZDRXuYNKExM1GHDY,6038
41
41
  seleniumbase/core/colored_traceback.py,sha256=DrRWfg7XEnKcgY59Xj7Jdk09H-XqHYBSUpB-DiZt6iY,2020
42
42
  seleniumbase/core/create_db_tables.sql,sha256=VWPtrdiW_HQ6yETHjqTu-VIrTwvd8I8o1NfBeaVSHpU,972
@@ -50,7 +50,7 @@ seleniumbase/core/proxy_helper.py,sha256=kZnfkflB3XhuL2h-3inmx3UOLS8VAZ385BGCc4H
50
50
  seleniumbase/core/recorder_helper.py,sha256=fNGjbapXmEsht54x1o6Igk198QdnPxDDnjUOzQxNhNQ,25055
51
51
  seleniumbase/core/report_helper.py,sha256=AIl6Qava2yW1uSzbLpJBlPlYDz0KE-rVhogh8hsGWBo,12201
52
52
  seleniumbase/core/s3_manager.py,sha256=bkeI8I4y19ebWuQG1oEZV5qJbotC6eN8vin31OCNWJk,3521
53
- seleniumbase/core/sb_cdp.py,sha256=5MVZ21faTNm6v_Yc11ZXVdVQgfimEjMZvgLFp0EEw9Q,76034
53
+ seleniumbase/core/sb_cdp.py,sha256=fXq6gHebFPY1YO2sAQ9y4_F_Brv0yYbprmNlC9qil-U,76172
54
54
  seleniumbase/core/sb_driver.py,sha256=NGa4adi8OAi2WFtFkEguXg3JCd1p-JuZweIpGNifEfU,13488
55
55
  seleniumbase/core/session_helper.py,sha256=s9zD3PVZEWVzG2h81cCUskbNWLfdjC_LwwQjKptHCak,558
56
56
  seleniumbase/core/settings_parser.py,sha256=gqVohHVlE_5L5Cqe2L24uYrRzvoK-saX8E_Df7_-_3I,7609
@@ -65,7 +65,7 @@ seleniumbase/extensions/disable_csp.zip,sha256=YMifIIgEBiLrEFrS1sfW4Exh4br1V4oK1
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=Pj28EBINaL1gL8O--YyCfn8YhmcH2jaQrJm5uiMZB20,720825
68
+ seleniumbase/fixtures/base_case.py,sha256=FujnBdiBgMSRdznydNCwD7-CYP3xL8FDit7w17WXmoE,720999
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=PSaAVgWU-yU1zwts2-UIJMWS6Mwo1YwAw0pMlSx6jVM,22998
109
+ seleniumbase/undetected/__init__.py,sha256=BceRx0ZcKi9ghI3fRHZP3fRJC39uYUEgC7VGbAWsq6k,23652
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
@@ -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.34.3.dist-info/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
139
- seleniumbase-4.34.3.dist-info/METADATA,sha256=aAlgc-ToqhxQPG4_MV_F8SMOctlsV0rgAILYhaPFU1c,86522
140
- seleniumbase-4.34.3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
141
- seleniumbase-4.34.3.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
- seleniumbase-4.34.3.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
- seleniumbase-4.34.3.dist-info/RECORD,,
138
+ seleniumbase-4.34.5.dist-info/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
139
+ seleniumbase-4.34.5.dist-info/METADATA,sha256=N5mQYpVA0-Hvdo9C5hkEknEAATOR4WLMI31qXSeMJiA,86519
140
+ seleniumbase-4.34.5.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
141
+ seleniumbase-4.34.5.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
+ seleniumbase-4.34.5.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
+ seleniumbase-4.34.5.dist-info/RECORD,,