seleniumbase 4.29.8__py3-none-any.whl → 4.30.0__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.
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.29.8"
2
+ __version__ = "4.30.0"
@@ -12,6 +12,7 @@ import warnings
12
12
  from selenium import webdriver
13
13
  from selenium.common.exceptions import ElementClickInterceptedException
14
14
  from selenium.common.exceptions import InvalidSessionIdException
15
+ from selenium.common.exceptions import SessionNotCreatedException
15
16
  from selenium.webdriver.chrome.service import Service as ChromeService
16
17
  from selenium.webdriver.common.options import ArgOptions
17
18
  from selenium.webdriver.common.service import utils as service_utils
@@ -718,7 +719,44 @@ def _uc_gui_click_x_y(driver, x, y, timeframe=0.25, uc_lock=False):
718
719
 
719
720
 
720
721
  def uc_gui_click_x_y(driver, x, y, timeframe=0.25):
721
- _uc_gui_click_x_y(driver, x, y, timeframe=timeframe, uc_lock=True)
722
+ gui_lock = fasteners.InterProcessLock(
723
+ constants.MultiBrowser.PYAUTOGUILOCK
724
+ )
725
+ with gui_lock: # Prevent issues with multiple processes
726
+ install_pyautogui_if_missing(driver)
727
+ import pyautogui
728
+ pyautogui = get_configured_pyautogui(pyautogui)
729
+ if IS_WINDOWS:
730
+ width_ratio = 1.0
731
+ window_rect = driver.get_window_rect()
732
+ width = window_rect["width"]
733
+ height = window_rect["height"]
734
+ win_x = window_rect["x"]
735
+ win_y = window_rect["y"]
736
+ if (
737
+ hasattr(sb_config, "_saved_width_ratio")
738
+ and sb_config._saved_width_ratio
739
+ ):
740
+ width_ratio = sb_config._saved_width_ratio
741
+ else:
742
+ scr_width = pyautogui.size().width
743
+ driver.maximize_window()
744
+ win_width = driver.get_window_size()["width"]
745
+ width_ratio = round(float(scr_width) / float(win_width), 2)
746
+ width_ratio += 0.01
747
+ if width_ratio < 0.45 or width_ratio > 2.55:
748
+ width_ratio = 1.01
749
+ sb_config._saved_width_ratio = width_ratio
750
+ driver.minimize_window()
751
+ driver.set_window_rect(win_x, win_y, width, height)
752
+ x = x * width_ratio
753
+ y = y * width_ratio
754
+ _uc_gui_click_x_y(driver, x, y, timeframe=timeframe, uc_lock=False)
755
+ return
756
+ page_actions.switch_to_window(
757
+ driver, driver.current_window_handle, 2, uc_lock=False
758
+ )
759
+ _uc_gui_click_x_y(driver, x, y, timeframe=timeframe, uc_lock=False)
722
760
 
723
761
 
724
762
  def _on_a_cf_turnstile_page(driver):
@@ -804,6 +842,7 @@ def _uc_gui_click_captcha(
804
842
  width_ratio = round(float(scr_width) / float(win_width), 2) + 0.01
805
843
  if width_ratio < 0.45 or width_ratio > 2.55:
806
844
  width_ratio = 1.01
845
+ sb_config._saved_width_ratio = width_ratio
807
846
  driver.minimize_window()
808
847
  driver.set_window_rect(win_x, win_y, width, height)
809
848
  if ctype == "cf_t":
@@ -4239,11 +4278,11 @@ def get_local_driver(
4239
4278
  driver.quit()
4240
4279
  except Exception:
4241
4280
  pass
4281
+ uc_path = None
4282
+ if os.path.exists(LOCAL_UC_DRIVER):
4283
+ uc_path = LOCAL_UC_DRIVER
4284
+ uc_path = os.path.realpath(uc_path)
4242
4285
  try:
4243
- uc_path = None
4244
- if os.path.exists(LOCAL_UC_DRIVER):
4245
- uc_path = LOCAL_UC_DRIVER
4246
- uc_path = os.path.realpath(uc_path)
4247
4286
  driver = undetected.Chrome(
4248
4287
  options=chrome_options,
4249
4288
  user_data_dir=user_data_dir,
@@ -4260,6 +4299,19 @@ def get_local_driver(
4260
4299
  mac_certificate_error = True
4261
4300
  else:
4262
4301
  raise
4302
+ except SessionNotCreatedException:
4303
+ time.sleep(0.2)
4304
+ driver = undetected.Chrome(
4305
+ options=chrome_options,
4306
+ user_data_dir=user_data_dir,
4307
+ driver_executable_path=uc_path,
4308
+ browser_executable_path=b_path,
4309
+ enable_cdp_events=cdp_events,
4310
+ headless=False, # Xvfb needed!
4311
+ version_main=uc_chrome_version,
4312
+ use_subprocess=True, # Always!
4313
+ )
4314
+ uc_activated = True
4263
4315
  if mac_certificate_error:
4264
4316
  cf_lock_path = (
4265
4317
  constants.MultiBrowser.CERT_FIXING_LOCK
@@ -6759,6 +6759,7 @@ class BaseCase(unittest.TestCase):
6759
6759
  for link in all_links:
6760
6760
  if (
6761
6761
  "data:" not in link
6762
+ and "tel:" not in link
6762
6763
  and "mailto:" not in link
6763
6764
  and "javascript:" not in link
6764
6765
  and "://fonts.gstatic.com" not in link
@@ -303,28 +303,44 @@ def Driver(
303
303
  proxy_string = proxy_string[1:-1]
304
304
  c_a = chromium_arg
305
305
  if c_a is None and "--chromium-arg" in arg_join:
306
- if "--chromium-arg=" in arg_join:
307
- c_a = arg_join.split("--chromium-arg=")[1].split(" ")[0]
308
- elif "--chromium-arg " in arg_join:
309
- c_a = arg_join.split("--chromium-arg ")[1].split(" ")[0]
310
- if c_a:
311
- if c_a.startswith('"') and c_a.endswith('"'):
312
- c_a = c_a[1:-1]
313
- elif c_a.startswith("'") and c_a.endswith("'"):
314
- c_a = c_a[1:-1]
306
+ count = 0
307
+ for arg in sys_argv:
308
+ if arg.startswith("--chromium-arg="):
309
+ c_a = arg.split("--chromium-arg=")[1]
310
+ break
311
+ elif arg == "--chromium-arg" and len(sys_argv) > count + 1:
312
+ c_a = sys_argv[count + 1]
313
+ if c_a.startswith("-"):
314
+ c_a = None
315
+ break
316
+ count += 1
315
317
  chromium_arg = c_a
316
318
  d_f = disable_features
317
319
  if d_f is None and "--disable-features" in arg_join:
318
- if "--disable-features=" in arg_join:
319
- d_f = arg_join.split("--disable-features=")[1].split(" ")[0]
320
- elif "--disable-features " in arg_join:
321
- d_f = arg_join.split("--disable-features ")[1].split(" ")[0]
322
- if d_f:
323
- if d_f.startswith('"') and d_f.endswith('"'):
324
- d_f = d_f[1:-1]
325
- elif c_a.startswith("'") and d_f.endswith("'"):
326
- d_f = d_f[1:-1]
320
+ count = 0
321
+ for arg in sys_argv:
322
+ if arg.startswith("--disable-features="):
323
+ d_f = arg.split("--disable-features=")[1]
324
+ break
325
+ elif arg == "--disable-features" and len(sys_argv) > count + 1:
326
+ d_f = sys_argv[count + 1]
327
+ if d_f.startswith("-"):
328
+ d_f = None
329
+ break
330
+ count += 1
327
331
  disable_features = d_f
332
+ if agent is None and "--agent" in arg_join:
333
+ count = 0
334
+ for arg in sys_argv:
335
+ if arg.startswith("--agent="):
336
+ agent = arg.split("--agent=")[1]
337
+ break
338
+ elif arg == "--agent" and len(sys_argv) > count + 1:
339
+ agent = sys_argv[count + 1]
340
+ if agent.startswith("-"):
341
+ agent = None
342
+ break
343
+ count += 1
328
344
  user_agent = agent
329
345
  recorder_mode = False
330
346
  if recorder_ext:
@@ -535,15 +551,30 @@ def Driver(
535
551
  host_resolver_rules = (
536
552
  arg_join.split("--host_resolver_rules=")[1].split('"')[0]
537
553
  )
538
- if driver_version is None:
539
- if "--driver-version=" in arg_join:
540
- driver_version = (
541
- arg_join.split("--driver-version=")[1].split(" ")[0]
542
- )
543
- elif "--driver_version=" in arg_join:
544
- driver_version = (
545
- arg_join.split("--driver_version=")[1].split(" ")[0]
546
- )
554
+ if driver_version is None and "--driver-version" in arg_join:
555
+ count = 0
556
+ for arg in sys_argv:
557
+ if arg.startswith("--driver-version="):
558
+ driver_version = arg.split("--driver-version=")[1]
559
+ break
560
+ elif arg == "--driver-version" and len(sys_argv) > count + 1:
561
+ driver_version = sys_argv[count + 1]
562
+ if driver_version.startswith("-"):
563
+ driver_version = None
564
+ break
565
+ count += 1
566
+ if driver_version is None and "--driver_version" in arg_join:
567
+ count = 0
568
+ for arg in sys_argv:
569
+ if arg.startswith("--driver_version="):
570
+ driver_version = arg.split("--driver_version=")[1]
571
+ break
572
+ elif arg == "--driver_version" and len(sys_argv) > count + 1:
573
+ driver_version = sys_argv[count + 1]
574
+ if driver_version.startswith("-"):
575
+ driver_version = None
576
+ break
577
+ count += 1
547
578
  browser_name = browser
548
579
 
549
580
  # Launch a web browser
@@ -337,28 +337,44 @@ def SB(
337
337
  proxy_string = proxy_string[1:-1]
338
338
  c_a = chromium_arg
339
339
  if c_a is None and "--chromium-arg" in arg_join:
340
- if "--chromium-arg=" in arg_join:
341
- c_a = arg_join.split("--chromium-arg=")[1].split(" ")[0]
342
- elif "--chromium-arg " in arg_join:
343
- c_a = arg_join.split("--chromium-arg ")[1].split(" ")[0]
344
- if c_a:
345
- if c_a.startswith('"') and c_a.endswith('"'):
346
- c_a = c_a[1:-1]
347
- elif c_a.startswith("'") and c_a.endswith("'"):
348
- c_a = c_a[1:-1]
340
+ count = 0
341
+ for arg in sys_argv:
342
+ if arg.startswith("--chromium-arg="):
343
+ c_a = arg.split("--chromium-arg=")[1]
344
+ break
345
+ elif arg == "--chromium-arg" and len(sys_argv) > count + 1:
346
+ c_a = sys_argv[count + 1]
347
+ if c_a.startswith("-"):
348
+ c_a = None
349
+ break
350
+ count += 1
349
351
  chromium_arg = c_a
350
352
  d_f = disable_features
351
353
  if d_f is None and "--disable-features" in arg_join:
352
- if "--disable-features=" in arg_join:
353
- d_f = arg_join.split("--disable-features=")[1].split(" ")[0]
354
- elif "--disable-features " in arg_join:
355
- d_f = arg_join.split("--disable-features ")[1].split(" ")[0]
356
- if d_f:
357
- if d_f.startswith('"') and d_f.endswith('"'):
358
- d_f = d_f[1:-1]
359
- elif c_a.startswith("'") and d_f.endswith("'"):
360
- d_f = d_f[1:-1]
354
+ count = 0
355
+ for arg in sys_argv:
356
+ if arg.startswith("--disable-features="):
357
+ d_f = arg.split("--disable-features=")[1]
358
+ break
359
+ elif arg == "--disable-features" and len(sys_argv) > count + 1:
360
+ d_f = sys_argv[count + 1]
361
+ if d_f.startswith("-"):
362
+ d_f = None
363
+ break
364
+ count += 1
361
365
  disable_features = d_f
366
+ if agent is None and "--agent" in arg_join:
367
+ count = 0
368
+ for arg in sys_argv:
369
+ if arg.startswith("--agent="):
370
+ agent = arg.split("--agent=")[1]
371
+ break
372
+ elif arg == "--agent" and len(sys_argv) > count + 1:
373
+ agent = sys_argv[count + 1]
374
+ if agent.startswith("-"):
375
+ agent = None
376
+ break
377
+ count += 1
362
378
  user_agent = agent
363
379
  recorder_mode = False
364
380
  if recorder_ext:
@@ -679,15 +695,30 @@ def SB(
679
695
  host_resolver_rules = (
680
696
  arg_join.split("--host_resolver_rules=")[1].split('"')[0]
681
697
  )
682
- if driver_version is None:
683
- if "--driver-version=" in arg_join:
684
- driver_version = (
685
- arg_join.split("--driver-version=")[1].split(" ")[0]
686
- )
687
- elif "--driver_version=" in arg_join:
688
- driver_version = (
689
- arg_join.split("--driver_version=")[1].split(" ")[0]
690
- )
698
+ if driver_version is None and "--driver-version" in arg_join:
699
+ count = 0
700
+ for arg in sys_argv:
701
+ if arg.startswith("--driver-version="):
702
+ driver_version = arg.split("--driver-version=")[1]
703
+ break
704
+ elif arg == "--driver-version" and len(sys_argv) > count + 1:
705
+ driver_version = sys_argv[count + 1]
706
+ if driver_version.startswith("-"):
707
+ driver_version = None
708
+ break
709
+ count += 1
710
+ if driver_version is None and "--driver_version" in arg_join:
711
+ count = 0
712
+ for arg in sys_argv:
713
+ if arg.startswith("--driver_version="):
714
+ driver_version = arg.split("--driver_version=")[1]
715
+ break
716
+ elif arg == "--driver_version" and len(sys_argv) > count + 1:
717
+ driver_version = sys_argv[count + 1]
718
+ if driver_version.startswith("-"):
719
+ driver_version = None
720
+ break
721
+ count += 1
691
722
  if highlights is not None:
692
723
  try:
693
724
  highlights = int(highlights)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: seleniumbase
3
- Version: 4.29.8
3
+ Version: 4.30.0
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
@@ -62,9 +62,9 @@ Requires-Dist: attrs >=24.2.0
62
62
  Requires-Dist: certifi >=2024.7.4
63
63
  Requires-Dist: exceptiongroup >=1.2.2
64
64
  Requires-Dist: parse >=1.20.2
65
- Requires-Dist: parse-type >=0.6.2
65
+ Requires-Dist: parse-type >=0.6.3
66
66
  Requires-Dist: six ==1.16.0
67
- Requires-Dist: idna ==3.7
67
+ Requires-Dist: idna ==3.8
68
68
  Requires-Dist: chardet ==5.2.0
69
69
  Requires-Dist: charset-normalizer ==3.3.2
70
70
  Requires-Dist: requests ==2.31.0
@@ -86,11 +86,11 @@ Requires-Dist: sbvirtualdisplay ==1.3.0
86
86
  Requires-Dist: behave ==1.2.6
87
87
  Requires-Dist: beautifulsoup4 ==4.12.3
88
88
  Requires-Dist: tabcompleter ==1.3.3
89
- Requires-Dist: pdbp ==1.5.3
89
+ Requires-Dist: pdbp ==1.5.4
90
90
  Requires-Dist: colorama ==0.4.6
91
91
  Requires-Dist: pyotp ==2.9.0
92
92
  Requires-Dist: mdurl ==0.1.2
93
- Requires-Dist: rich ==13.7.1
93
+ Requires-Dist: rich ==13.8.0
94
94
  Requires-Dist: python-xlib ==0.33 ; platform_system == "Linux"
95
95
  Requires-Dist: pyreadline3 ==3.4.1 ; platform_system == "Windows"
96
96
  Requires-Dist: urllib3 <2,>=1.26.19 ; python_version < "3.10"
@@ -121,16 +121,16 @@ Requires-Dist: filelock >=3.15.4 ; python_version >= "3.8"
121
121
  Requires-Dist: platformdirs >=4.2.2 ; python_version >= "3.8"
122
122
  Requires-Dist: typing-extensions >=4.12.2 ; python_version >= "3.8"
123
123
  Requires-Dist: pyyaml >=6.0.2 ; python_version >= "3.8"
124
- Requires-Dist: trio ==0.26.1 ; python_version >= "3.8"
124
+ Requires-Dist: trio ==0.26.2 ; python_version >= "3.8"
125
125
  Requires-Dist: websocket-client ==1.8.0 ; python_version >= "3.8"
126
- Requires-Dist: selenium ==4.23.1 ; python_version >= "3.8"
126
+ Requires-Dist: selenium ==4.24.0 ; python_version >= "3.8"
127
127
  Requires-Dist: execnet ==2.1.1 ; python_version >= "3.8"
128
128
  Requires-Dist: pluggy ==1.5.0 ; python_version >= "3.8"
129
129
  Requires-Dist: pytest ==8.3.2 ; python_version >= "3.8"
130
130
  Requires-Dist: pytest-metadata ==3.1.1 ; python_version >= "3.8"
131
131
  Requires-Dist: pytest-rerunfailures ==14.0 ; python_version >= "3.8"
132
132
  Requires-Dist: pytest-xdist ==3.6.1 ; python_version >= "3.8"
133
- Requires-Dist: soupsieve ==2.5 ; python_version >= "3.8"
133
+ Requires-Dist: soupsieve ==2.6 ; python_version >= "3.8"
134
134
  Requires-Dist: pygments ==2.18.0 ; python_version >= "3.8"
135
135
  Requires-Dist: markdown-it-py ==3.0.0 ; python_version >= "3.8"
136
136
  Requires-Dist: setuptools ~=70.2 ; python_version >= "3.8" and python_version < "3.10"
@@ -178,6 +178,7 @@ Requires-Dist: selenium-stealth ==1.0.6 ; extra == 'selenium-stealth'
178
178
  Provides-Extra: selenium-wire
179
179
  Requires-Dist: selenium-wire ==5.1.0 ; extra == 'selenium-wire'
180
180
  Requires-Dist: pyOpenSSL ==24.2.1 ; extra == 'selenium-wire'
181
+ Requires-Dist: pyparsing >=3.1.4 ; extra == 'selenium-wire'
181
182
  Requires-Dist: Brotli ==1.1.0 ; extra == 'selenium-wire'
182
183
  Requires-Dist: blinker ==1.7.0 ; extra == 'selenium-wire'
183
184
  Requires-Dist: h2 ==4.1.0 ; extra == 'selenium-wire'
@@ -242,7 +243,7 @@ Requires-Dist: pyasn1 ==0.6.0 ; (python_version >= "3.8") and extra == 'selenium
242
243
 
243
244
  📚 Learn from [**over 200 examples** in the **SeleniumBase/examples/** folder](https://github.com/seleniumbase/SeleniumBase/tree/master/examples).
244
245
 
245
- 👤 Note that <span translate="no">SeleniumBase</span> <a translate="no" href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/uc_mode.md">UC Mode / Stealth Mode has its own ReadMe</a>.
246
+ 👤 Note that <span translate="no">SeleniumBase</span> <a translate="no" href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/uc_mode.md"><b>UC Mode</b> (Stealth Mode) has its own ReadMe</a>.
246
247
 
247
248
  ℹ️ Scripts can be called via <code translate="no"><b>python</b></code>, although some <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/syntax_formats.md">Syntax Formats</a> expect <a href="https://docs.pytest.org/en/latest/how-to/usage.html" translate="no"><b>pytest</b></a> (a Python unit-testing framework included with SeleniumBase that can discover & collect tests automatically).
248
249
 
@@ -1558,6 +1559,7 @@ pytest --reruns=1 --reruns-delay=1
1558
1559
 
1559
1560
  <div><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/super_logo_sb3.png" title="SeleniumBase" width="240" /></a></div>
1560
1561
  <div><a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" /></a></div> <div><a href="https://github.com/seleniumbase/SeleniumBase"><img src="https://img.shields.io/badge/tested%20with-SeleniumBase-04C38E.svg" alt="Tested with SeleniumBase" /></a></div> <div><a href="https://github.com/seleniumbase/SeleniumBase/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-22BBCC.svg" title="SeleniumBase" /></a> <a href="https://gitter.im/seleniumbase/SeleniumBase" target="_blank"><img src="https://img.shields.io/gitter/room/seleniumbase/SeleniumBase.svg" alt="Gitter chat"/></a></div>
1562
+ <div><a href="https://hellogithub.com/repository/c6be2d0f1969448697683d11a4ff915e" target="_blank"><img src="https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=c6be2d0f1969448697683d11a4ff915e&claim_uid=xcrm4p9j3d6JCO5" alt="Featured|HelloGitHub" style="width: 173px; height: 38px;" width="173" height="38" /></a></div>
1561
1563
  <div><a href="https://pepy.tech/project/seleniumbase" target="_blank"><img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" /></a></div>
1562
1564
  <div><a href="https://github.com/seleniumbase/SeleniumBase/stargazers"><img src="https://img.shields.io/github/stars/seleniumbase/seleniumbase.svg?color=19A57B" title="Stargazers" /></a></div>
1563
1565
  <div align="left"><img src="https://views.whatilearened.today/views/github/seleniumbase/SeleniumBase.svg" width="124px" height="28px" alt="Views" /></div>
@@ -5,7 +5,7 @@ sbase/steps.py,sha256=bKT_u5bJkKzYWEuAXi9NVVRYYxQRCM1_YJUrNFFRVPY,42865
5
5
  seleniumbase/ReadMe.md,sha256=4nEdto4d0Ch0Zneg0yAC-RBBdqRqPUP0SCo-ze_XDPM,3612
6
6
  seleniumbase/__init__.py,sha256=dgq30q6wGO2fJOVYemxC5hLxzv-of-MRn5P1YarBq5k,2263
7
7
  seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
8
- seleniumbase/__version__.py,sha256=yvYG_kFQEo5aqUjDLxy4JLMbWHXAWYTX5_bqLcH8jXQ,46
8
+ seleniumbase/__version__.py,sha256=2LQZxA2MHN0gDWi7lH0LnKGsK_Dk0DOG8QJwGK7SeMk,46
9
9
  seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  seleniumbase/behave/behave_helper.py,sha256=elkl8P9eLulRAioLstE9baYNM9N_PHBmAOcajX-pH_Y,24198
11
11
  seleniumbase/behave/behave_sb.py,sha256=q4uYZixZBf7VYWnQnEk2weTcyMy1X1faR3vyYvUzDiA,56406
@@ -40,7 +40,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=yo641b_OdSE0GUauOyxk-QrNeIjYzbRY
40
40
  seleniumbase/console_scripts/sb_recorder.py,sha256=UQQhnAR18dbcC7ToDvj6TM2PIG5qBrNaekaM6kSK_E8,10970
41
41
  seleniumbase/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
42
  seleniumbase/core/application_manager.py,sha256=e_0sjtI8cjY5BNyZj1QBR0j6_oCScxGmSXYEpcYwuZE,576
43
- seleniumbase/core/browser_launcher.py,sha256=BlafNTZPrsqfNgS2Svi-OXL4VNeSGkemj73esHqlTow,195478
43
+ seleniumbase/core/browser_launcher.py,sha256=_Oms_vw4OHofMFyXxKDDX_PD1sdabHGdIrebGHUoC9s,197939
44
44
  seleniumbase/core/capabilities_parser.py,sha256=meIS2uHapTCq2ldfNAToC7r0cKmZDRXuYNKExM1GHDY,6038
45
45
  seleniumbase/core/colored_traceback.py,sha256=DrRWfg7XEnKcgY59Xj7Jdk09H-XqHYBSUpB-DiZt6iY,2020
46
46
  seleniumbase/core/create_db_tables.sql,sha256=VWPtrdiW_HQ6yETHjqTu-VIrTwvd8I8o1NfBeaVSHpU,972
@@ -70,7 +70,7 @@ seleniumbase/extensions/disable_csp.zip,sha256=YMifIIgEBiLrEFrS1sfW4Exh4br1V4oK1
70
70
  seleniumbase/extensions/recorder.zip,sha256=OOyzF-Ize2cSRu1CqhzSAq5vusI9hqLLd2OIApUHesI,11918
71
71
  seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
72
72
  seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
- seleniumbase/fixtures/base_case.py,sha256=V1ashm9TqaDi7Lhv38HZz5mHQ8o4ag2CscfNXJuYmJo,701890
73
+ seleniumbase/fixtures/base_case.py,sha256=f63hweOgG8Zr0GrbaL-CV8TKGkHkhbR0pWuTmGsn8GM,701929
74
74
  seleniumbase/fixtures/constants.py,sha256=TapuGLdERtvZPGMblVXkNGybr8tj8FMtN3sbJ3ygyoc,13569
75
75
  seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
76
76
  seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
@@ -92,11 +92,11 @@ seleniumbase/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
92
92
  seleniumbase/plugins/base_plugin.py,sha256=o_-IraDNgsMEJQv1HsmS5ZcTvYOXiQ4NpxryG2m9c2A,14970
93
93
  seleniumbase/plugins/basic_test_info.py,sha256=8ov6n417gPbqqvrlT4zrch7l2XcRt-GF2ny6rR9AMWk,2108
94
94
  seleniumbase/plugins/db_reporting_plugin.py,sha256=En09qUCoojrk9-vbcnsoHdSELoGmag2GDIyu3jTiJas,7331
95
- seleniumbase/plugins/driver_manager.py,sha256=x879oEkmHJnWQAaLCoppGya-YDh5_aoKVWXcBSer-do,23406
95
+ seleniumbase/plugins/driver_manager.py,sha256=dBwltG0AMj3uMFq6s40MWKaGyaLyh-f38rqoWVBcRQE,24491
96
96
  seleniumbase/plugins/page_source.py,sha256=loTnXxOj4kxEukuTZEiGyvKBhY3KDVDMnNlHHheTBDE,1889
97
97
  seleniumbase/plugins/pytest_plugin.py,sha256=ObITovmkwpAcwXNxF6qTHRzERPA7_ntAmbxPRTefj1M,94999
98
98
  seleniumbase/plugins/s3_logging_plugin.py,sha256=WDfertQgGOW_SRJpFMaekYD6vBVW9VO62POtXXy2HCM,2319
99
- seleniumbase/plugins/sb_manager.py,sha256=8vNps3MTcS9XFG5hLYfkIAUI8BpVS7qtww0KpJC1UL4,41329
99
+ seleniumbase/plugins/sb_manager.py,sha256=j-yOiwyeDYbXrgRUiW92zMx0qHYqisF1bUCglG0MXvA,42414
100
100
  seleniumbase/plugins/screen_shots.py,sha256=1hrXw-hzuZ1BR6Yh7AyWX2ABnvnP73-RCbwdz958gj4,1127
101
101
  seleniumbase/plugins/selenium_plugin.py,sha256=FESjalW8mdboLB_B59j8EeY6IvmEIbp_BY9cPTxJsM4,55122
102
102
  seleniumbase/resources/ReadMe.md,sha256=uminnO5_Uv-UZDKcc9a9s9kxisaYUps-H98Fp5PJcaU,2124
@@ -137,9 +137,9 @@ seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443
137
137
  seleniumbase/utilities/selenium_ide/ReadMe.md,sha256=hznGeuMpkIimqMiZBW-4goIy2ltW4l8X9kb0YSPUQfE,4483
138
138
  seleniumbase/utilities/selenium_ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
139
  seleniumbase/utilities/selenium_ide/convert_ide.py,sha256=pZFnqEJQEKZPyNFjkLD29s2HPQgCrWW9XJWpCPhWOoM,31691
140
- seleniumbase-4.29.8.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
141
- seleniumbase-4.29.8.dist-info/METADATA,sha256=4tsAT_jWi2XExD3koW1AWCVoIa8lSBfL9lckU5zMeUc,85776
142
- seleniumbase-4.29.8.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
143
- seleniumbase-4.29.8.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
144
- seleniumbase-4.29.8.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
145
- seleniumbase-4.29.8.dist-info/RECORD,,
140
+ seleniumbase-4.30.0.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
141
+ seleniumbase-4.30.0.dist-info/METADATA,sha256=hsLLWlsN-hlsjf54EJrA6B--5AULFyGjLblKoehSZ6Q,86174
142
+ seleniumbase-4.30.0.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
143
+ seleniumbase-4.30.0.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
144
+ seleniumbase-4.30.0.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
145
+ seleniumbase-4.30.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (72.1.0)
2
+ Generator: setuptools (74.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5