seleniumbase 4.30.3__py3-none-any.whl → 4.30.4__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.30.3"
2
+ __version__ = "4.30.4"
@@ -1,6 +1,6 @@
1
1
  <!-- SeleniumBase Docs -->
2
2
 
3
- ## Using [seleniumbase/common](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/common) methods.
3
+ ## [seleniumbase/common](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/common) decorators and security.
4
4
 
5
5
  ### Part 1: Decorators - (from [decorators.py](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/common/decorators.py))
6
6
 
@@ -181,6 +181,28 @@ def main():
181
181
  data.append("")
182
182
  data.append("class RecorderTest(BaseCase):")
183
183
  data.append(" def test_recording(self):")
184
+ if use_uc:
185
+ data.append(" if self.undetectable:")
186
+ if (
187
+ start_page
188
+ and (
189
+ start_page.startswith("http:")
190
+ or start_page.startswith("https:")
191
+ or start_page.startswith("file:")
192
+ )
193
+ ):
194
+ used_sp = start_page
195
+ if '"' not in start_page:
196
+ used_sp = '"%s"' % start_page
197
+ elif "'" not in start_page:
198
+ used_sp = "'%s'" % start_page
199
+ data.append(
200
+ " self.uc_open_with_disconnect(\n"
201
+ " %s\n"
202
+ " )" % used_sp
203
+ )
204
+ else:
205
+ data.append(" self.disconnect()")
184
206
  data.append(" if self.recorder_ext:")
185
207
  data.append(" # When done recording actions,")
186
208
  data.append(' # type "c", and press [Enter].')
@@ -231,7 +253,18 @@ def main():
231
253
  )
232
254
  print(success)
233
255
  run_cmd = None
234
- if not start_page:
256
+ if (
257
+ not start_page
258
+ or (
259
+ use_uc
260
+ and (
261
+ start_page.startswith("http:")
262
+ or start_page.startswith("https:")
263
+ or start_page.startswith("file:")
264
+ )
265
+ and not esc_end
266
+ )
267
+ ):
235
268
  run_cmd = "%s -m pytest %s --rec -q -s" % (sys_executable, file_name)
236
269
  else:
237
270
  run_cmd = "%s -m pytest %s --rec -q -s --url=%s" % (
@@ -197,6 +197,13 @@ def do_playback(file_name, use_chrome, window, demo_mode=False):
197
197
  command += " --edge"
198
198
  if demo_mode:
199
199
  command += " --demo"
200
+ command_args = sys.argv[2:]
201
+ if (
202
+ "--uc" in command_args
203
+ or "--undetected" in command_args
204
+ or "--undetectable" in command_args
205
+ ):
206
+ command += " --uc"
200
207
  poll = None
201
208
  if sb_config.rec_subprocess_used:
202
209
  poll = sb_config.rec_subprocess_p.poll()
@@ -728,8 +728,23 @@ def uc_gui_click_x_y(driver, x, y, timeframe=0.25):
728
728
  install_pyautogui_if_missing(driver)
729
729
  import pyautogui
730
730
  pyautogui = get_configured_pyautogui(pyautogui)
731
+ connected = True
732
+ width_ratio = 1.0
731
733
  if IS_WINDOWS:
732
- width_ratio = 1.0
734
+ try:
735
+ driver.window_handles
736
+ except Exception:
737
+ connected = False
738
+ if (
739
+ not connected
740
+ and (
741
+ not hasattr(sb_config, "_saved_width_ratio")
742
+ or not sb_config._saved_width_ratio
743
+ )
744
+ ):
745
+ driver.reconnect(0.1)
746
+ connected = True
747
+ if IS_WINDOWS and connected:
733
748
  window_rect = driver.get_window_rect()
734
749
  width = window_rect["width"]
735
750
  height = window_rect["height"]
@@ -751,13 +766,24 @@ def uc_gui_click_x_y(driver, x, y, timeframe=0.25):
751
766
  sb_config._saved_width_ratio = width_ratio
752
767
  driver.minimize_window()
753
768
  driver.set_window_rect(win_x, win_y, width, height)
769
+ elif (
770
+ IS_WINDOWS
771
+ and not connected
772
+ and hasattr(sb_config, "_saved_width_ratio")
773
+ and sb_config._saved_width_ratio
774
+ ):
775
+ width_ratio = sb_config._saved_width_ratio
776
+ if IS_WINDOWS:
754
777
  x = x * width_ratio
755
778
  y = y * width_ratio
756
779
  _uc_gui_click_x_y(driver, x, y, timeframe=timeframe, uc_lock=False)
757
780
  return
758
- page_actions.switch_to_window(
759
- driver, driver.current_window_handle, 2, uc_lock=False
760
- )
781
+ try:
782
+ page_actions.switch_to_window(
783
+ driver, driver.current_window_handle, 2, uc_lock=False
784
+ )
785
+ except Exception:
786
+ pass
761
787
  _uc_gui_click_x_y(driver, x, y, timeframe=timeframe, uc_lock=False)
762
788
 
763
789
 
@@ -958,21 +984,20 @@ def _uc_gui_click_captcha(
958
984
  pass
959
985
  reconnect_time = (float(constants.UC.RECONNECT_TIME) / 2.0) + 0.5
960
986
  if IS_LINUX:
961
- reconnect_time = constants.UC.RECONNECT_TIME + 0.15
987
+ reconnect_time = constants.UC.RECONNECT_TIME + 0.2
962
988
  if not x or not y:
963
989
  reconnect_time = 1 # Make it quick (it already failed)
964
990
  driver.reconnect(reconnect_time)
965
- if blind:
991
+ if blind or (IS_LINUX and "Just a moment" in driver.title):
966
992
  retry = True
993
+ blind = True
967
994
  if retry and x and y and _on_a_captcha_page(driver):
968
995
  with gui_lock: # Prevent issues with multiple processes
969
996
  # Make sure the window is on top
970
997
  page_actions.switch_to_window(
971
998
  driver, driver.current_window_handle, 2, uc_lock=False
972
999
  )
973
- if not driver.is_element_present("iframe"):
974
- return
975
- else:
1000
+ if driver.is_element_present("iframe"):
976
1001
  try:
977
1002
  driver.switch_to_frame(frame)
978
1003
  except Exception:
@@ -1179,7 +1204,7 @@ def _uc_gui_handle_captcha(
1179
1204
  pass
1180
1205
  reconnect_time = (float(constants.UC.RECONNECT_TIME) / 2.0) + 0.5
1181
1206
  if IS_LINUX:
1182
- reconnect_time = constants.UC.RECONNECT_TIME + 0.15
1207
+ reconnect_time = constants.UC.RECONNECT_TIME + 0.2
1183
1208
  driver.reconnect(reconnect_time)
1184
1209
 
1185
1210
 
@@ -16029,6 +16029,11 @@ class BaseCase(unittest.TestCase):
16029
16029
  # This test already called tearDown()
16030
16030
  return
16031
16031
  if hasattr(self, "recorder_mode") and self.recorder_mode:
16032
+ if self.undetectable:
16033
+ try:
16034
+ self.driver.window_handles
16035
+ except Exception:
16036
+ self.driver.connect()
16032
16037
  self.__process_recorded_actions()
16033
16038
  self.__called_teardown = True
16034
16039
  self.__called_setup = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: seleniumbase
3
- Version: 4.30.3
3
+ Version: 4.30.4
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
@@ -90,7 +90,7 @@ 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.8.0
93
+ Requires-Dist: rich ==13.8.1
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"
@@ -117,8 +117,8 @@ Requires-Dist: urllib3 <2.3.0,>=1.26.19 ; python_version >= "3.10"
117
117
  Requires-Dist: pip >=24.1.2 ; python_version >= "3.8"
118
118
  Requires-Dist: packaging >=24.1 ; python_version >= "3.8"
119
119
  Requires-Dist: wheel >=0.44.0 ; python_version >= "3.8"
120
- Requires-Dist: filelock >=3.15.4 ; python_version >= "3.8"
121
- Requires-Dist: platformdirs >=4.2.2 ; python_version >= "3.8"
120
+ Requires-Dist: filelock >=3.16.0 ; python_version >= "3.8"
121
+ Requires-Dist: platformdirs >=4.3.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
124
  Requires-Dist: trio ==0.26.2 ; python_version >= "3.8"
@@ -126,7 +126,7 @@ Requires-Dist: websocket-client ==1.8.0 ; python_version >= "3.8"
126
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
- Requires-Dist: pytest ==8.3.2 ; python_version >= "3.8"
129
+ Requires-Dist: pytest ==8.3.3 ; 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"
@@ -187,7 +187,7 @@ Requires-Dist: hyperframe ==6.0.1 ; extra == 'selenium-wire'
187
187
  Requires-Dist: kaitaistruct ==0.10 ; extra == 'selenium-wire'
188
188
  Requires-Dist: zstandard ==0.23.0 ; extra == 'selenium-wire'
189
189
  Requires-Dist: pyasn1 ==0.5.1 ; (python_version < "3.8") and extra == 'selenium-wire'
190
- Requires-Dist: pyasn1 ==0.6.0 ; (python_version >= "3.8") and extra == 'selenium-wire'
190
+ Requires-Dist: pyasn1 ==0.6.1 ; (python_version >= "3.8") and extra == 'selenium-wire'
191
191
 
192
192
  <!-- SeleniumBase Docs -->
193
193
 
@@ -199,7 +199,7 @@ Requires-Dist: pyasn1 ==0.6.0 ; (python_version >= "3.8") and extra == 'selenium
199
199
 
200
200
  <p align="center" class="hero__title"><b>All-in-one Browser Automation Framework:<br />Web Crawling / Testing / Scraping / Stealth</b></p>
201
201
 
202
- <p align="center"><a href="https://pypi.python.org/pypi/seleniumbase" target="_blank"><img src="https://img.shields.io/pypi/v/seleniumbase.svg?color=3399EE" alt="PyPI version" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/releases" target="_blank"><img src="https://img.shields.io/github/v/release/seleniumbase/SeleniumBase.svg?color=22AAEE" alt="GitHub version" /></a> <a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/actions" target="_blank"><img src="https://github.com/seleniumbase/SeleniumBase/workflows/CI%20build/badge.svg" alt="SeleniumBase GitHub Actions" /></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></p>
202
+ <p align="center"><a href="https://pypi.python.org/pypi/seleniumbase" target="_blank"><img src="https://img.shields.io/pypi/v/seleniumbase.svg?color=3399EE" alt="PyPI version" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/releases" target="_blank"><img src="https://img.shields.io/github/v/release/seleniumbase/SeleniumBase.svg?color=22AAEE" alt="GitHub version" /></a> <a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/actions" target="_blank"><img src="https://github.com/seleniumbase/SeleniumBase/workflows/CI%20build/badge.svg" alt="SeleniumBase GitHub Actions" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank"><img src="https://img.shields.io/badge/join-discord-infomational" alt="Join the SeleniumBase chat on Discord"/></a></p>
203
203
 
204
204
  <p align="center">
205
205
  <a href="#python_installation">🚀 Start</a> |
@@ -1546,22 +1546,23 @@ pytest --reruns=1 --reruns-delay=1
1546
1546
  <div><a href="https://github.com/seleniumbase/SeleniumBase/issues?q=is%3Aissue+is%3Aclosed"><img src="https://img.shields.io/github/issues-closed-raw/seleniumbase/SeleniumBase.svg?color=22BB88" title="Closed Issues" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/pulls?q=is%3Apr+is%3Aclosed"><img src="https://img.shields.io/github/issues-pr-closed/seleniumbase/SeleniumBase.svg?logo=github&logoColor=white&color=22BB99" title="Closed Pull Requests" /></a></div>
1547
1547
  </p>
1548
1548
 
1549
- <p align="left"><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/sb_logo_10t.png" alt="SeleniumBase" title="SeleniumBase" width="266" /></a></p>
1549
+ <p align="left"><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/sb_logo_10t.png" alt="SeleniumBase" title="SeleniumBase" width="274" /></a></p>
1550
1550
 
1551
1551
  <a href="https://pypi.org/project/seleniumbase/" target="_blank"><img src="https://img.shields.io/pypi/pyversions/seleniumbase.svg?color=22AAEE&logo=python&logoColor=FEDC54" title="Supported Python Versions" /></a>
1552
1552
 
1553
1553
  <p><div>
1554
- <span><a href="https://www.youtube.com/playlist?list=PLp9uKicxkBc5UIlGi2BuE3aWC7JyXpD3m"><img src="https://seleniumbase.github.io/cdn/img/youtube.png" title="SeleniumBase Playlist on YouTube" alt="SeleniumBase Playlist on YouTube" width="68" /></a></span>
1555
- <span><a href="https://github.com/seleniumbase/SeleniumBase"><img src="https://seleniumbase.github.io/img/social/share_github.svg" title="SeleniumBase on GitHub" alt="SeleniumBase on GitHub" width="62" /></a></span>
1556
- <span><a href="https://www.facebook.com/SeleniumBase"><img src="https://seleniumbase.io/img/social/share_facebook.svg" title="SeleniumBase on Facebook" alt="SeleniumBase on Facebook" width="64" /></a></span>
1557
- <span><a href="https://gitter.im/seleniumbase/SeleniumBase" target="_blank"><img src="https://seleniumbase.github.io/img/social/share_gitter.svg" title="SeleniumBase on Gitter" alt="SeleniumBase on Gitter" width="50" /></a></span>
1554
+ <span><a href="https://www.youtube.com/playlist?list=PLp9uKicxkBc5UIlGi2BuE3aWC7JyXpD3m"><img src="https://seleniumbase.github.io/cdn/img/youtube.png" title="SeleniumBase Playlist on YouTube" alt="SeleniumBase Playlist on YouTube" width="70" /></a></span>
1555
+ <span><a href="https://github.com/seleniumbase/SeleniumBase"><img src="https://seleniumbase.github.io/img/social/share_github.svg" title="SeleniumBase on GitHub" alt="SeleniumBase on GitHub" width="64" /></a></span>
1556
+ <span><a href="https://discord.gg/EdhQTn3EyE"><img src="https://seleniumbase.github.io/other/discord_icon.png" title="SeleniumBase on Discord" alt="SeleniumBase on Discord" width="66" /></a></span>
1557
+ <span><a href="https://www.facebook.com/SeleniumBase"><img src="https://seleniumbase.io/img/social/share_facebook.svg" title="SeleniumBase on Facebook" alt="SeleniumBase on Facebook" width="62" /></a></span>
1558
+ <span><a href="https://gitter.im/seleniumbase/SeleniumBase" target="_blank"><img src="https://seleniumbase.github.io/img/social/share_gitter.svg" title="SeleniumBase on Gitter" alt="SeleniumBase on Gitter" width="48" /></a></span>
1558
1559
  </div></p>
1559
1560
 
1560
1561
  <p><div><b><a href="https://github.com/mdmintz">https://github.com/mdmintz</a></b></div></p>
1561
1562
 
1562
- <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>
1563
- <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>
1564
- <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>
1565
- <div><a href="https://pepy.tech/project/seleniumbase" target="_blank"><img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" /></a></div>
1566
- <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>
1567
- <div align="left"><img src="https://views.whatilearened.today/views/github/seleniumbase/SeleniumBase.svg" width="124px" height="28px" alt="Views" /></div>
1563
+ <div><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/super_logo_sb3.png" title="SeleniumBase" width="274" /></a></div>
1564
+ <div><a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-22BBCC.svg" title="SeleniumBase" /></a></div>
1565
+ <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> <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>
1566
+ <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&theme=small" alt="Featured|HelloGitHub" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank"><img src="https://img.shields.io/badge/join-discord-infomational" alt="Join the SeleniumBase chat on Discord"/></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>
1567
+ <div><a href="https://pepy.tech/project/seleniumbase" target="_blank"><img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" /></a> <img src="https://views.whatilearened.today/views/github/seleniumbase/SeleniumBase.svg" width="98px" height="20px" alt="Views" /></div>
1568
+ <div align="left"></div>
@@ -5,12 +5,12 @@ 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=Oloi19JNV2Kk1XvsGrHH-4lT87W5MMes86obgvYyGDM,46
8
+ seleniumbase/__version__.py,sha256=jDH75_Y_GUYCMTUb1As3Iynp59U2NBmaSqoIDnNQ7m8,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
12
12
  seleniumbase/behave/steps.py,sha256=8-N-NB2tnDsxaP4LSg-uSBgbwZYMS6ZEL1oggO1PCoU,390
13
- seleniumbase/common/ReadMe.md,sha256=PwQsRSPRCXejL-fg4YyDzED_Yr6e7ddmGu3g2OcDrcQ,3286
13
+ seleniumbase/common/ReadMe.md,sha256=ib-L8nio7fDREqM3MMOpBHtYQa8dy_LlSsHV9XUUQ4Q,3296
14
14
  seleniumbase/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  seleniumbase/common/decorators.py,sha256=LJnAgg0RG3kDOFb8tpyq1zjmpv9ks6Tjg8GwgIn1YuY,7633
16
16
  seleniumbase/common/encryption.py,sha256=IfAuE0hdrd3y-_qAQUWdSOKRGQ4QN24uTOBiQ9Eeq2s,5593
@@ -34,13 +34,13 @@ seleniumbase/console_scripts/sb_mkchart.py,sha256=QDDjA8N_Qy62Mgbe2fnSU8mhZbKTVy
34
34
  seleniumbase/console_scripts/sb_mkdir.py,sha256=-OJrGM3upjdhCQb00zxSapS7eVtE49K3bR6KzsGvBbM,30049
35
35
  seleniumbase/console_scripts/sb_mkfile.py,sha256=mZCUl318UkLvW5v1C40Tx19q6_aVJOfTZoKfd3XcakU,18132
36
36
  seleniumbase/console_scripts/sb_mkpres.py,sha256=5MEYFKATmh68wy0SRi2NQtO71MN7m-rQq-WtUp4cKD8,11306
37
- seleniumbase/console_scripts/sb_mkrec.py,sha256=AKAbVnkI5nLDpA6W9JZu38QSpJz5IE8Pto-Em9U5r2o,11208
37
+ seleniumbase/console_scripts/sb_mkrec.py,sha256=0mJYe689QamICVaaFn3Aw_GkmSeFkHBYfnF48Wa4Fd4,12225
38
38
  seleniumbase/console_scripts/sb_objectify.py,sha256=SRYY_cZ-Ip6Lj65T2maXRyJctOWAFhGSc-Xlc-u-2CM,122140
39
39
  seleniumbase/console_scripts/sb_print.py,sha256=yo641b_OdSE0GUauOyxk-QrNeIjYzbRYRSUL-U0ZH80,30776
40
- seleniumbase/console_scripts/sb_recorder.py,sha256=UQQhnAR18dbcC7ToDvj6TM2PIG5qBrNaekaM6kSK_E8,10970
40
+ seleniumbase/console_scripts/sb_recorder.py,sha256=9rLgxq_K2g37zpEPYtQ8j01u2fGkZpacw3Xi6o_ENWc,11162
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=ZW2-FmdYcAhl6xFTrPtIOniGz_CtJpbEg0EjGSZALQ4,198233
43
+ seleniumbase/core/browser_launcher.py,sha256=tqSu7YhmL09Ge6feIaxckuVSANzBX50rbtfp7KFS2ho,199055
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=f63hweOgG8Zr0GrbaL-CV8TKGkHkhbR0pWuTmGsn8GM,701929
73
+ seleniumbase/fixtures/base_case.py,sha256=y-GeD6E8SM-mY_fc3QDbxbZFX-K7CBDVssDYBr4wYzY,702107
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
@@ -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.30.3.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
141
- seleniumbase-4.30.3.dist-info/METADATA,sha256=KbCnEa6cmntlRRwsX1h9YN6Gi_dQUyo0ytStEB7fprQ,86380
142
- seleniumbase-4.30.3.dist-info/WHEEL,sha256=uCRv0ZEik_232NlR4YDw4Pv3Ajt5bKvMH13NUU7hFuI,91
143
- seleniumbase-4.30.3.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
144
- seleniumbase-4.30.3.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
145
- seleniumbase-4.30.3.dist-info/RECORD,,
140
+ seleniumbase-4.30.4.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
141
+ seleniumbase-4.30.4.dist-info/METADATA,sha256=alRcWbK9kwTlydIX2aDAaEvnn8tc6LNEl7cxrS4xb3w,86682
142
+ seleniumbase-4.30.4.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
143
+ seleniumbase-4.30.4.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
144
+ seleniumbase-4.30.4.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
145
+ seleniumbase-4.30.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (74.1.1)
2
+ Generator: setuptools (74.1.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5