seleniumbase 4.28.0a2__py3-none-any.whl → 4.28.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.
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.28.0a2"
2
+ __version__ = "4.28.1"
@@ -467,7 +467,7 @@ def uc_open_with_reconnect(driver, url, reconnect_time=None):
467
467
  if (url.startswith("http:") or url.startswith("https:")):
468
468
  script = 'window.open("%s","_blank");' % url
469
469
  driver.execute_script(script)
470
- time.sleep(0.02)
470
+ time.sleep(0.05)
471
471
  driver.close()
472
472
  if reconnect_time == "disconnect":
473
473
  driver.disconnect()
@@ -497,7 +497,7 @@ def uc_open_with_disconnect(driver, url, timeout=None):
497
497
  if (url.startswith("http:") or url.startswith("https:")):
498
498
  script = 'window.open("%s","_blank");' % url
499
499
  driver.execute_script(script)
500
- time.sleep(0.02)
500
+ time.sleep(0.05)
501
501
  driver.close()
502
502
  driver.disconnect()
503
503
  min_timeout = 0.008
@@ -546,7 +546,17 @@ def uc_click(
546
546
  driver.reconnect(reconnect_time)
547
547
 
548
548
 
549
+ def verify_pyautogui_has_a_headed_browser():
550
+ """PyAutoGUI requires a headed browser so that it can
551
+ focus on the correct element when performing actions."""
552
+ if sb_config.headless or sb_config.headless2:
553
+ raise Exception(
554
+ "PyAutoGUI can't be used in headless mode!"
555
+ )
556
+
557
+
549
558
  def install_pyautogui_if_missing():
559
+ verify_pyautogui_has_a_headed_browser()
550
560
  pip_find_lock = fasteners.InterProcessLock(
551
561
  constants.PipInstall.FINDLOCK
552
562
  )
@@ -556,10 +566,11 @@ def install_pyautogui_if_missing():
556
566
  try:
557
567
  use_pyautogui_ver = constants.PyAutoGUI.VER
558
568
  if pyautogui.__version__ != use_pyautogui_ver:
569
+ del pyautogui
559
570
  shared_utils.pip_install(
560
571
  "pyautogui", version=use_pyautogui_ver
561
572
  )
562
- del pyautogui
573
+ import pyautogui
563
574
  except Exception:
564
575
  pass
565
576
  except Exception:
@@ -1020,7 +1031,7 @@ def _set_chrome_options(
1020
1031
  prefs["download.prompt_for_download"] = False
1021
1032
  prefs["credentials_enable_service"] = False
1022
1033
  prefs["local_discovery.notifications_enabled"] = False
1023
- prefs["safebrowsing.enabled"] = True
1034
+ prefs["safebrowsing.enabled"] = False # Prevent PW "data breach" pop-ups
1024
1035
  prefs["safebrowsing.disable_download_protection"] = True
1025
1036
  prefs["omnibox-max-zero-suggest-matches"] = 0
1026
1037
  prefs["omnibox-use-existing-autocomplete-client"] = 0
@@ -1623,6 +1634,10 @@ def get_driver(
1623
1634
  if headless2 and browser_name == constants.Browser.FIREFOX:
1624
1635
  headless2 = False # Only for Chromium
1625
1636
  headless = True
1637
+ if not hasattr(sb_config, "headless"):
1638
+ sb_config.headless = headless
1639
+ if not hasattr(sb_config, "headless2"):
1640
+ sb_config.headless2 = headless2
1626
1641
  if (
1627
1642
  binary_location
1628
1643
  and isinstance(binary_location, str)
@@ -2611,7 +2626,7 @@ def get_local_driver(
2611
2626
  "credentials_enable_service": False,
2612
2627
  "local_discovery.notifications_enabled": False,
2613
2628
  "safebrowsing.disable_download_protection": True,
2614
- "safebrowsing.enabled": True,
2629
+ "safebrowsing.enabled": False, # Prevent PW "data breach" pop-ups
2615
2630
  "omnibox-max-zero-suggest-matches": 0,
2616
2631
  "omnibox-use-existing-autocomplete-client": 0,
2617
2632
  "omnibox-trending-zero-prefix-suggestions-on-ntp": 0,
@@ -6822,10 +6822,10 @@ class BaseCase(unittest.TestCase):
6822
6822
  try:
6823
6823
  import cryptography
6824
6824
  if cryptography.__version__ != "39.0.2":
6825
+ del cryptography # To get newer ver
6825
6826
  shared_utils.pip_install(
6826
6827
  "cryptography", version="39.0.2"
6827
6828
  )
6828
- del cryptography # To get newer ver
6829
6829
  import cryptography
6830
6830
  except Exception:
6831
6831
  shared_utils.pip_install(
@@ -13718,7 +13718,7 @@ class BaseCase(unittest.TestCase):
13718
13718
  which is the default mode on Linux unless using another arg."""
13719
13719
  if "linux" in sys.platform and (not self.headed or self.xvfb):
13720
13720
  from sbvirtualdisplay import Display
13721
- if self.undetectable:
13721
+ if self.undetectable and not (self.headless or self.headless2):
13722
13722
  import Xlib.display
13723
13723
  try:
13724
13724
  self._xvfb_display = Display(
@@ -13749,10 +13749,10 @@ class BaseCase(unittest.TestCase):
13749
13749
  try:
13750
13750
  use_pyautogui_ver = constants.PyAutoGUI.VER
13751
13751
  if pyautogui.__version__ != use_pyautogui_ver:
13752
+ del pyautogui # To get newer ver
13752
13753
  shared_utils.pip_install(
13753
13754
  "pyautogui", version=use_pyautogui_ver
13754
13755
  )
13755
- del pyautogui # To get newer ver
13756
13756
  import pyautogui
13757
13757
  except Exception:
13758
13758
  pass
@@ -81,46 +81,46 @@ def format_exc(exception, message):
81
81
  from seleniumbase.common.exceptions import TextNotVisibleException
82
82
  from seleniumbase.common import exceptions
83
83
 
84
- if exception == Exception:
84
+ if exception is Exception:
85
85
  exc = Exception
86
86
  return exc, message
87
- elif exception == ElementNotVisibleException:
87
+ elif exception is ElementNotVisibleException:
88
88
  exc = exceptions.ElementNotVisibleException
89
89
  elif exception == "ElementNotVisibleException":
90
90
  exc = exceptions.ElementNotVisibleException
91
- elif exception == LinkTextNotFoundException:
91
+ elif exception is LinkTextNotFoundException:
92
92
  exc = exceptions.LinkTextNotFoundException
93
93
  elif exception == "LinkTextNotFoundException":
94
94
  exc = exceptions.LinkTextNotFoundException
95
- elif exception == NoSuchElementException:
95
+ elif exception is NoSuchElementException:
96
96
  exc = exceptions.NoSuchElementException
97
97
  elif exception == "NoSuchElementException":
98
98
  exc = exceptions.NoSuchElementException
99
- elif exception == TextNotVisibleException:
99
+ elif exception is TextNotVisibleException:
100
100
  exc = exceptions.TextNotVisibleException
101
101
  elif exception == "TextNotVisibleException":
102
102
  exc = exceptions.TextNotVisibleException
103
- elif exception == NoAlertPresentException:
103
+ elif exception is NoAlertPresentException:
104
104
  exc = exceptions.NoAlertPresentException
105
105
  elif exception == "NoAlertPresentException":
106
106
  exc = exceptions.NoAlertPresentException
107
- elif exception == NoSuchAttributeException:
107
+ elif exception is NoSuchAttributeException:
108
108
  exc = exceptions.NoSuchAttributeException
109
109
  elif exception == "NoSuchAttributeException":
110
110
  exc = exceptions.NoSuchAttributeException
111
- elif exception == NoSuchFrameException:
111
+ elif exception is NoSuchFrameException:
112
112
  exc = exceptions.NoSuchFrameException
113
113
  elif exception == "NoSuchFrameException":
114
114
  exc = exceptions.NoSuchFrameException
115
- elif exception == NoSuchWindowException:
115
+ elif exception is NoSuchWindowException:
116
116
  exc = exceptions.NoSuchWindowException
117
117
  elif exception == "NoSuchWindowException":
118
118
  exc = exceptions.NoSuchWindowException
119
- elif exception == NoSuchFileException:
119
+ elif exception is NoSuchFileException:
120
120
  exc = exceptions.NoSuchFileException
121
121
  elif exception == "NoSuchFileException":
122
122
  exc = exceptions.NoSuchFileException
123
- elif exception == NoSuchOptionException:
123
+ elif exception is NoSuchOptionException:
124
124
  exc = exceptions.NoSuchOptionException
125
125
  elif exception == "NoSuchOptionException":
126
126
  exc = exceptions.NoSuchOptionException
@@ -125,7 +125,9 @@ def Driver(
125
125
  uc_cdp=None, # Shortcut / Duplicate of "uc_cdp_events".
126
126
  uc_sub=None, # Shortcut / Duplicate of "uc_subprocess".
127
127
  log_cdp=None, # Shortcut / Duplicate of "log_cdp_events".
128
+ ad_block=None, # Shortcut / Duplicate of "ad_block_on".
128
129
  server=None, # Shortcut / Duplicate of "servername".
130
+ guest=None, # Shortcut / Duplicate of "guest_mode".
129
131
  wire=None, # Shortcut / Duplicate of "use_wire".
130
132
  pls=None, # Shortcut / Duplicate of "page_load_strategy".
131
133
  ):
@@ -263,6 +265,8 @@ def Driver(
263
265
  incognito = True
264
266
  else:
265
267
  incognito = False
268
+ if guest is not None and guest_mode is None:
269
+ guest_mode = guest
266
270
  if guest_mode is None:
267
271
  if "--guest" in sys_argv:
268
272
  guest_mode = True
@@ -387,6 +391,14 @@ def Driver(
387
391
  uc_cdp_events = True
388
392
  else:
389
393
  uc_cdp_events = False
394
+ if undetectable and browser != "chrome":
395
+ message = (
396
+ '\n Undetected-Chromedriver Mode ONLY supports Chrome!'
397
+ '\n ("uc=True" / "undetectable=True" / "--uc")'
398
+ '\n (Your browser choice was: "%s".)'
399
+ '\n (Will use "%s" without UC Mode.)\n' % (browser, browser)
400
+ )
401
+ print(message)
390
402
  if headed is None:
391
403
  # Override the default headless mode on Linux if set.
392
404
  if "--gui" in sys_argv or "--headed" in sys_argv:
@@ -507,6 +519,8 @@ def Driver(
507
519
  swiftshader = True
508
520
  else:
509
521
  swiftshader = False
522
+ if ad_block is not None and ad_block_on is None:
523
+ ad_block_on = ad_block
510
524
  if ad_block_on is None:
511
525
  if "--ad-block" in sys_argv or "--ad_block" in sys_argv:
512
526
  ad_block_on = True
@@ -103,7 +103,9 @@ def SB(
103
103
  uc_cdp=None, # Shortcut / Duplicate of "uc_cdp_events".
104
104
  uc_sub=None, # Shortcut / Duplicate of "uc_subprocess".
105
105
  log_cdp=None, # Shortcut / Duplicate of "log_cdp_events".
106
+ ad_block=None, # Shortcut / Duplicate of "ad_block_on".
106
107
  server=None, # Shortcut / Duplicate of "servername".
108
+ guest=None, # Shortcut / Duplicate of "guest_mode".
107
109
  wire=None, # Shortcut / Duplicate of "use_wire".
108
110
  pls=None, # Shortcut / Duplicate of "page_load_strategy".
109
111
  sjw=None, # Shortcut / Duplicate of "skip_js_waits".
@@ -296,6 +298,8 @@ def SB(
296
298
  incognito = True
297
299
  else:
298
300
  incognito = False
301
+ if guest is not None and guest_mode is None:
302
+ guest_mode = guest
299
303
  if guest_mode is None:
300
304
  if "--guest" in sys_argv:
301
305
  guest_mode = True
@@ -444,6 +448,14 @@ def SB(
444
448
  uc_cdp_events = True
445
449
  else:
446
450
  uc_cdp_events = False
451
+ if undetectable and browser != "chrome":
452
+ message = (
453
+ '\n Undetected-Chromedriver Mode ONLY supports Chrome!'
454
+ '\n ("uc=True" / "undetectable=True" / "--uc")'
455
+ '\n (Your browser choice was: "%s".)'
456
+ '\n (Will use "%s" without UC Mode.)\n' % (browser, browser)
457
+ )
458
+ print(message)
447
459
  if headed is None:
448
460
  # Override the default headless mode on Linux if set.
449
461
  if "--gui" in sys_argv or "--headed" in sys_argv:
@@ -651,6 +663,8 @@ def SB(
651
663
  swiftshader = True
652
664
  else:
653
665
  swiftshader = False
666
+ if ad_block is not None and ad_block_on is None:
667
+ ad_block_on = ad_block
654
668
  if ad_block_on is None:
655
669
  if "--ad-block" in sys_argv or "--ad_block" in sys_argv:
656
670
  ad_block_on = True
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: seleniumbase
3
- Version: 4.28.0a2
3
+ Version: 4.28.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
@@ -113,11 +113,11 @@ Requires-Dist: soupsieve ==2.4.1 ; python_version < "3.8"
113
113
  Requires-Dist: pygments ==2.17.2 ; python_version < "3.8"
114
114
  Requires-Dist: markdown-it-py ==2.2.0 ; python_version < "3.8"
115
115
  Requires-Dist: urllib3 <2.3.0,>=1.26.18 ; python_version >= "3.10"
116
- Requires-Dist: pip >=24.1 ; python_version >= "3.8"
116
+ Requires-Dist: pip >=24.1.1 ; python_version >= "3.8"
117
117
  Requires-Dist: packaging >=24.1 ; python_version >= "3.8"
118
- Requires-Dist: setuptools >=70.1.0 ; python_version >= "3.8"
118
+ Requires-Dist: setuptools >=70.1.1 ; python_version >= "3.8"
119
119
  Requires-Dist: wheel >=0.43.0 ; python_version >= "3.8"
120
- Requires-Dist: filelock >=3.15.3 ; python_version >= "3.8"
120
+ 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: trio ==0.25.1 ; python_version >= "3.8"
@@ -139,7 +139,7 @@ Requires-Dist: allure-behave >=2.13.5 ; extra == 'allure'
139
139
  Provides-Extra: coverage
140
140
  Requires-Dist: coverage ==7.2.7 ; (python_version < "3.8") and extra == 'coverage'
141
141
  Requires-Dist: pytest-cov ==4.1.0 ; (python_version < "3.8") and extra == 'coverage'
142
- Requires-Dist: coverage >=7.5.3 ; (python_version >= "3.8") and extra == 'coverage'
142
+ Requires-Dist: coverage >=7.5.4 ; (python_version >= "3.8") and extra == 'coverage'
143
143
  Requires-Dist: pytest-cov >=5.0.0 ; (python_version >= "3.8") and extra == 'coverage'
144
144
  Provides-Extra: flake8
145
145
  Requires-Dist: mccabe ==0.7.0 ; extra == 'flake8'
@@ -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=Z_q4t2nqpbTTsHeamv2C_jHeoBcuQwHtsanzSpi8zS8,48
8
+ seleniumbase/__version__.py,sha256=stwURg1GlpTjB6ZfwxhyiJNFUEHUUu_ebog3IEpV2CQ,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=iVS42Z6FlYcLsSyZWbpLSVsAsC4LGWcbQ6qq0KKwwKg,175992
43
+ seleniumbase/core/browser_launcher.py,sha256=n-1H_qn-TbfHNHuGX8r57A5-RdHbBUeixEZnjywBpM4,176623
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,14 +70,14 @@ 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=sfjciTHMXiFZwntWvazPF65oW7yDGd3YRH2J7ZzHruQ,698053
73
+ seleniumbase/fixtures/base_case.py,sha256=qCh7W-WPtmpnSUsyc6CbERE4AH415Hp7Ms33GnLw_xo,698095
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
77
77
  seleniumbase/fixtures/js_utils.py,sha256=y1FgWvrg7CjryqGnFhbmFIIVYMzQfYZhwppYae87UCo,51158
78
78
  seleniumbase/fixtures/page_actions.py,sha256=YVbpdJpaJO-B7pkKw8hxEWpO9e3XraYle5FBJHdQ7Qw,62434
79
79
  seleniumbase/fixtures/page_utils.py,sha256=QmAvTlT0j0ESf1IgvyXwHJapJakFM7QqBLXnHXgaeJw,12596
80
- seleniumbase/fixtures/shared_utils.py,sha256=9VgFvodh0-3GeGbj5wvWOaG4fLpwmgWkrvIKQ89KMvE,5748
80
+ seleniumbase/fixtures/shared_utils.py,sha256=Fc78v0OxfLPOPqeT8ExsdkTgXHlmpxvJeLbLyDnu1dI,5748
81
81
  seleniumbase/fixtures/unittest_helper.py,sha256=sfZ92rZeBAn_sF_yQ3I6_I7h3lyU5-cV_UMegBNoEm8,1294
82
82
  seleniumbase/fixtures/words.py,sha256=FOA4mAYvl3EPVpBTvgvK6YwCL8BdlRCmed685kEe7Vg,7827
83
83
  seleniumbase/fixtures/xpath_to_css.py,sha256=lML56k656fElXJ4NJF07r35FjctrbgQkXUotNk7A-as,8876
@@ -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=WScJYz-5UxUEq3LfICmq0tFe_mglWhG9x28KCq4SSUE,22775
95
+ seleniumbase/plugins/driver_manager.py,sha256=x879oEkmHJnWQAaLCoppGya-YDh5_aoKVWXcBSer-do,23406
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=oDKlGtCWyoaDp3qdq-rZFWU7NfBkk5odkG9e3ZqlBug,40698
99
+ seleniumbase/plugins/sb_manager.py,sha256=8vNps3MTcS9XFG5hLYfkIAUI8BpVS7qtww0KpJC1UL4,41329
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.28.0a2.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
141
- seleniumbase-4.28.0a2.dist-info/METADATA,sha256=wss8LAfBwlcn0oDfSNvRqoEm9qmm4gLhoMdOwr27PAI,85546
142
- seleniumbase-4.28.0a2.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
143
- seleniumbase-4.28.0a2.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
144
- seleniumbase-4.28.0a2.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
145
- seleniumbase-4.28.0a2.dist-info/RECORD,,
140
+ seleniumbase-4.28.1.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
141
+ seleniumbase-4.28.1.dist-info/METADATA,sha256=ylhdl80ZhnKfg25y-FF9l8TAgBOhtVUKy8V02GKC9HQ,85546
142
+ seleniumbase-4.28.1.dist-info/WHEEL,sha256=mguMlWGMX-VHnMpKOjjQidIo1ssRlCFu4a4mBpz1s2M,91
143
+ seleniumbase-4.28.1.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
144
+ seleniumbase-4.28.1.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
145
+ seleniumbase-4.28.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.1.0)
2
+ Generator: setuptools (70.1.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5