seleniumbase 4.15.15__py3-none-any.whl → 4.16.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.
Files changed (53) hide show
  1. sbase/__init__.py +1 -0
  2. seleniumbase/__init__.py +1 -0
  3. seleniumbase/__version__.py +1 -1
  4. seleniumbase/behave/behave_sb.py +12 -19
  5. seleniumbase/common/exceptions.py +5 -0
  6. seleniumbase/config/settings.py +7 -0
  7. seleniumbase/console_scripts/ReadMe.md +2 -2
  8. seleniumbase/console_scripts/run.py +5 -4
  9. seleniumbase/console_scripts/sb_behave_gui.py +6 -9
  10. seleniumbase/console_scripts/sb_caseplans.py +2 -5
  11. seleniumbase/console_scripts/sb_commander.py +5 -8
  12. seleniumbase/console_scripts/sb_install.py +43 -54
  13. seleniumbase/console_scripts/sb_print.py +2 -0
  14. seleniumbase/console_scripts/sb_recorder.py +3 -2
  15. seleniumbase/core/browser_launcher.py +13 -27
  16. seleniumbase/core/capabilities_parser.py +2 -3
  17. seleniumbase/core/detect_b_ver.py +3 -4
  18. seleniumbase/core/jqc_helper.py +2 -4
  19. seleniumbase/core/mysql.py +1 -1
  20. seleniumbase/core/proxy_helper.py +65 -0
  21. seleniumbase/core/recorder_helper.py +1 -1
  22. seleniumbase/core/s3_manager.py +29 -23
  23. seleniumbase/core/session_helper.py +2 -6
  24. seleniumbase/core/settings_parser.py +2 -0
  25. seleniumbase/fixtures/base_case.py +31 -13
  26. seleniumbase/fixtures/constants.py +1 -1
  27. seleniumbase/fixtures/css_to_xpath.py +1 -2
  28. seleniumbase/fixtures/errors.py +2 -7
  29. seleniumbase/fixtures/js_utils.py +8 -16
  30. seleniumbase/fixtures/page_actions.py +3 -6
  31. seleniumbase/fixtures/page_utils.py +1 -1
  32. seleniumbase/fixtures/shared_utils.py +26 -79
  33. seleniumbase/fixtures/xpath_to_css.py +1 -3
  34. seleniumbase/plugins/base_plugin.py +1 -1
  35. seleniumbase/plugins/basic_test_info.py +1 -1
  36. seleniumbase/plugins/db_reporting_plugin.py +2 -2
  37. seleniumbase/plugins/driver_manager.py +2 -1
  38. seleniumbase/plugins/page_source.py +2 -4
  39. seleniumbase/plugins/pytest_plugin.py +9 -8
  40. seleniumbase/plugins/s3_logging_plugin.py +20 -9
  41. seleniumbase/plugins/sb_manager.py +2 -2
  42. seleniumbase/plugins/screen_shots.py +2 -2
  43. seleniumbase/plugins/selenium_plugin.py +5 -8
  44. seleniumbase/translate/translator.py +397 -396
  45. seleniumbase/undetected/__init__.py +17 -37
  46. seleniumbase/utilities/selenium_grid/grid_hub.py +2 -1
  47. seleniumbase/utilities/selenium_grid/grid_node.py +2 -1
  48. {seleniumbase-4.15.15.dist-info → seleniumbase-4.16.0.dist-info}/METADATA +7 -7
  49. {seleniumbase-4.15.15.dist-info → seleniumbase-4.16.0.dist-info}/RECORD +53 -53
  50. {seleniumbase-4.15.15.dist-info → seleniumbase-4.16.0.dist-info}/LICENSE +0 -0
  51. {seleniumbase-4.15.15.dist-info → seleniumbase-4.16.0.dist-info}/WHEEL +0 -0
  52. {seleniumbase-4.15.15.dist-info → seleniumbase-4.16.0.dist-info}/entry_points.txt +0 -0
  53. {seleniumbase-4.15.15.dist-info → seleniumbase-4.16.0.dist-info}/top_level.txt +0 -0
@@ -26,7 +26,6 @@ __all__ = (
26
26
  "CDP",
27
27
  "find_chrome_executable",
28
28
  )
29
-
30
29
  logger = logging.getLogger("uc")
31
30
  logger.setLevel(logging.getLogger().getEffectiveLevel())
32
31
  sys_plat = sys.platform
@@ -182,22 +181,14 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
182
181
  try:
183
182
  language = m[1]
184
183
  except IndexError:
185
- logger.debug("will set the language to en-US,en;q=0.9")
186
184
  language = "en-US,en;q=0.9"
187
185
  if "user-data-dir" in arg:
188
186
  m = re.search("(?:--)?user-data-dir(?:[ =])?(.*)", arg)
189
187
  try:
190
188
  user_data_dir = m[1]
191
- logger.debug(
192
- "user-data-dir found in user argument %s => %s"
193
- % (arg, m[1])
194
- )
195
189
  keep_user_data_dir = True
196
190
  except IndexError:
197
- logger.debug(
198
- "No user data dir extracted from supplied argument %s"
199
- % arg
200
- )
191
+ pass
201
192
  if not user_data_dir:
202
193
  if hasattr(options, "user_data_dir") and getattr(
203
194
  options, "user_data_dir", None
@@ -206,21 +197,14 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
206
197
  "--user-data-dir=%s" % options.user_data_dir
207
198
  )
208
199
  keep_user_data_dir = True
209
- logger.debug(
210
- "user_data_dir property found in options object: %s"
211
- % user_data_dir
212
- )
213
200
  else:
214
201
  import tempfile
215
202
 
216
203
  user_data_dir = os.path.normpath(tempfile.mkdtemp())
217
204
  keep_user_data_dir = False
218
205
  arg = "--user-data-dir=%s" % user_data_dir
206
+ # Create a temporary folder for the user-data profile.
219
207
  options.add_argument(arg)
220
- logger.debug(
221
- "Created a temporary folder for the user-data profile.\n"
222
- "Also added it to the Chrome startup arguments: %s" % arg
223
- )
224
208
  if not language:
225
209
  try:
226
210
  import locale
@@ -279,9 +263,8 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
279
263
  fs.seek(0, 0)
280
264
  fs.truncate()
281
265
  json.dump(config, fs)
282
- logger.debug("Fixed exit_type flag.")
283
266
  except Exception:
284
- logger.debug("Did not find a bad exit_type flag.")
267
+ pass
285
268
  creationflags = 0
286
269
  if "win32" in sys_plat or "win64" in sys_plat or "x64" in sys_plat:
287
270
  creationflags = subprocess.CREATE_NO_WINDOW
@@ -338,10 +321,6 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
338
321
  original = super().__getattribute__(item)
339
322
  if inspect.ismethod(original) and not inspect.isclass(original):
340
323
  def newfunc(*args, **kwargs):
341
- logger.debug(
342
- "calling %s with args %s and kwargs %s\n"
343
- % (original.__qualname__, args, kwargs)
344
- )
345
324
  return original(*args, **kwargs)
346
325
  return newfunc
347
326
  return original
@@ -412,7 +391,7 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
412
391
  return None
413
392
 
414
393
  def tab_new(self, url):
415
- """This opens a url in a new tab."""
394
+ """Open url in a new tab."""
416
395
  if not hasattr(self, "cdp"):
417
396
  self.cdp = CDP(self.options)
418
397
  self.cdp.tab_new(str(url))
@@ -428,20 +407,21 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
428
407
  """This can be useful when sites use heavy detection methods:
429
408
  - Stops the chromedriver service that runs in the background.
430
409
  - Starts the chromedriver service that runs in the background.
431
- - Recreates the session. """
432
- try:
433
- self.service.stop()
434
- except Exception as e:
435
- logger.debug(e)
436
- time.sleep(timeout)
437
- try:
438
- self.service.start()
439
- except Exception as e:
440
- logger.debug(e)
410
+ - Recreates the session."""
411
+ if hasattr(self, "service"):
412
+ try:
413
+ self.service.stop()
414
+ except Exception:
415
+ pass
416
+ time.sleep(timeout)
417
+ try:
418
+ self.service.start()
419
+ except Exception:
420
+ pass
441
421
  try:
442
422
  self.start_session()
443
- except Exception as e:
444
- logger.debug(e)
423
+ except Exception:
424
+ pass
445
425
 
446
426
  def start_session(self, capabilities=None):
447
427
  if not capabilities:
@@ -3,6 +3,7 @@ import os
3
3
  import subprocess
4
4
  import sys
5
5
  from seleniumbase import drivers # webdriver storage folder for SeleniumBase
6
+ from seleniumbase.fixtures import shared_utils
6
7
 
7
8
  DRIVER_DIR = os.path.dirname(os.path.realpath(drivers.__file__))
8
9
  # Make sure that the SeleniumBase DRIVER_DIR is at the top of the System PATH
@@ -85,7 +86,7 @@ def main():
85
86
 
86
87
  download_selenium_server.main(force_download=False) # Only runs if needed
87
88
 
88
- if "linux" in sys.platform or "darwin" in sys.platform:
89
+ if shared_utils.is_linux() or shared_utils.is_mac():
89
90
  if grid_hub_command == "start":
90
91
  subprocess.check_call(
91
92
  dir_path + "/grid-hub start %s" % timeout, shell=True
@@ -3,6 +3,7 @@ import os
3
3
  import subprocess
4
4
  import sys
5
5
  from seleniumbase import drivers # webdriver storage folder for SeleniumBase
6
+ from seleniumbase.fixtures import shared_utils
6
7
 
7
8
  DRIVER_DIR = os.path.dirname(os.path.realpath(drivers.__file__))
8
9
  # Make sure that the SeleniumBase DRIVER_DIR is at the top of the System PATH
@@ -102,7 +103,7 @@ def main():
102
103
 
103
104
  download_selenium_server.main(force_download=False) # Only runs if needed
104
105
 
105
- if "linux" in sys.platform or "darwin" in sys.platform:
106
+ if shared_utils.is_linux() or shared_utils.is_mac():
106
107
  if grid_hub_command == "start":
107
108
  subprocess.check_call(dir_path + "/grid-node start", shell=True)
108
109
  elif grid_hub_command == "restart":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: seleniumbase
3
- Version: 4.15.15
3
+ Version: 4.16.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
@@ -70,7 +70,7 @@ Requires-Dist: sbvirtualdisplay (==1.2.0)
70
70
  Requires-Dist: behave (==1.2.6)
71
71
  Requires-Dist: beautifulsoup4 (==4.12.2)
72
72
  Requires-Dist: tabcompleter (==1.2.1)
73
- Requires-Dist: pdbp (==1.4.2)
73
+ Requires-Dist: pdbp (==1.4.3)
74
74
  Requires-Dist: pyreadline3 (==3.4.1) ; platform_system == "Windows"
75
75
  Requires-Dist: pip (>=21.3.1) ; python_version < "3.7"
76
76
  Requires-Dist: packaging (>=21.3) ; python_version < "3.7"
@@ -106,13 +106,13 @@ Requires-Dist: commonmark (==0.9.1) ; python_version < "3.7"
106
106
  Requires-Dist: rich (==12.6.0) ; python_version < "3.7"
107
107
  Requires-Dist: importlib-metadata (==4.2.0) ; python_version < "3.8"
108
108
  Requires-Dist: urllib3 (<2.1.0,>=1.26.16) ; python_version >= "3.10"
109
- Requires-Dist: pip (>=23.1.2) ; python_version >= "3.7"
109
+ Requires-Dist: pip (>=23.2) ; python_version >= "3.7"
110
110
  Requires-Dist: packaging (>=23.1) ; python_version >= "3.7"
111
111
  Requires-Dist: setuptools (>=68.0.0) ; python_version >= "3.7"
112
112
  Requires-Dist: wheel (>=0.40.0) ; python_version >= "3.7"
113
113
  Requires-Dist: attrs (>=23.1.0) ; python_version >= "3.7"
114
114
  Requires-Dist: filelock (>=3.12.2) ; python_version >= "3.7"
115
- Requires-Dist: platformdirs (>=3.8.1) ; python_version >= "3.7"
115
+ Requires-Dist: platformdirs (>=3.9.1) ; python_version >= "3.7"
116
116
  Requires-Dist: chardet (==5.1.0) ; python_version >= "3.7"
117
117
  Requires-Dist: charset-normalizer (==3.2.0) ; python_version >= "3.7"
118
118
  Requires-Dist: requests (==2.31.0) ; python_version >= "3.7"
@@ -322,7 +322,7 @@ class CoffeeCartTest(BaseCase):
322
322
 
323
323
  <p>💡 With raw Selenium, commands that use selectors need to specify the type of selector (eg. <code>"css selector", "button#myButton"</code>). With SeleniumBase, there's auto-detection between CSS Selectors and XPath, which means you don't need to specify the type of selector in your commands (<i>but optionally you could</i>).</p>
324
324
 
325
- <p>💡 SeleniumBase methods often perform multiple actions in a single method call. For example, <code>self.type(selector,text)</code> does the following:<br />1. Waits for the element to be visible.<br />2. Waits for the element to be interactive.<br />3. Clears the text field.<br />4. Types in the new text.<br />5. Presses Enter/Submit if the text ends in "\n".<br />With raw Selenium, those actions require multiple method calls.</p>
325
+ <p>💡 SeleniumBase methods often perform multiple actions in a single method call. For example, <code>self.type(selector,text)</code> does the following:<br />1. Waits for the element to be visible.<br />2. Waits for the element to be interactive.<br />3. Clears the text field.<br />4. Types in the new text.<br />5. Presses Enter/Submit if the text ends in <code>"\n"</code>.<br />With raw Selenium, those actions require multiple method calls.</p>
326
326
 
327
327
  <p>💡 SeleniumBase uses default timeout values when not set:<br />
328
328
  ✅<code>self.click("button")</code><br />
@@ -845,8 +845,8 @@ pytest test_coffee_cart.py --trace
845
845
  --incognito # (Enable Chrome's Incognito mode.)
846
846
  --guest # (Enable Chrome's Guest mode.)
847
847
  --devtools # (Open Chrome's DevTools when the browser opens.)
848
- --reuse-session | --rs # (Reuse browser session for all tests.)
849
- --reuse-class-session | --rcs # (Reuse session for tests in class.)
848
+ --rs | --reuse-session # (Reuse browser session for all tests.)
849
+ --rcs | --reuse-class-session # (Reuse session for tests in class.)
850
850
  --crumbs # (Delete all cookies between tests reusing a session.)
851
851
  --disable-beforeunload # (Disable the "beforeunload" event on Chrome.)
852
852
  --window-size=WIDTH,HEIGHT # (Set the browser's starting window size.)
@@ -1,61 +1,61 @@
1
1
  sbase/ReadMe.txt,sha256=F_8szskzdRlPQ5DChxbsFTA0GOszvxtVQs6W8GCv6gw,90
2
- sbase/__init__.py,sha256=rqHjxS5djhsfPk1hrFIT-2GrUWiu3p2Jzq8shRPA_vk,516
2
+ sbase/__init__.py,sha256=Kgq4COxq3G8FCBJHrLAMXQG3wGrmKjJ6L9tlaUi5PYo,562
3
3
  sbase/__main__.py,sha256=G0bVB1-DM4PGwQ1KyOupaWCs4ePbChZNNWuX2htim5U,647
4
4
  sbase/steps.py,sha256=RCZ_tKo7kFvgzVrHpIHb090c0on14ObIEkmMHjDURWE,38261
5
5
  seleniumbase/ReadMe.md,sha256=5Bnv8gsyKQGABhLj0S4HXZdtVic98puQlIGYc7YHUm8,3612
6
- seleniumbase/__init__.py,sha256=UKfONr7JsfKiXKvqdO5KJ1gMOBzvQ66PHHVAfE636ro,2068
6
+ seleniumbase/__init__.py,sha256=Mw4ShIWUF2Efjx-JuwUQLWF9nIbxcX-vu9AOGBp32ec,2123
7
7
  seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
8
- seleniumbase/__version__.py,sha256=-oSen3iyd0GJ-nnZ3RcnEMiTv0gKkBKTze21CRTCuSg,47
8
+ seleniumbase/__version__.py,sha256=hUVl83vbmKuPmj604OE1I2BjydYa9QVnRmYtlQi4g4w,46
9
9
  seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  seleniumbase/behave/behave_helper.py,sha256=KQ4rgOcWkMFSbD8QBUmevxO47M9UoSDenfoBHy9VaPk,22206
11
- seleniumbase/behave/behave_sb.py,sha256=fU8dLa-5Ohb5xVXq9nqVXHeLV4z3RDu5AnDJVvSD60c,54220
11
+ seleniumbase/behave/behave_sb.py,sha256=TtTFIZpUfDpElNmoBDB46QVbCZDPJPgvl9XWZab8MkM,54130
12
12
  seleniumbase/behave/steps.py,sha256=8-N-NB2tnDsxaP4LSg-uSBgbwZYMS6ZEL1oggO1PCoU,390
13
13
  seleniumbase/common/ReadMe.md,sha256=PwQsRSPRCXejL-fg4YyDzED_Yr6e7ddmGu3g2OcDrcQ,3286
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
17
- seleniumbase/common/exceptions.py,sha256=RHo4q237xvZD72q8t2ZDhNPR3bvPklWr7tp9--SGkvs,2992
17
+ seleniumbase/common/exceptions.py,sha256=XnY6wGtCfgTvh0T7ExM4wZwBjRMv4HbRb9bQSosjttI,3119
18
18
  seleniumbase/common/obfuscate.py,sha256=VrwPbVigPH_Jk6ADCk5_miMoq1VK4M9SKnYScDkk-DQ,1204
19
19
  seleniumbase/common/unobfuscate.py,sha256=MgP6MMT9Wam6ECFVIA84WsQczfl_dFiumFu9m3eXFDg,771
20
20
  seleniumbase/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  seleniumbase/config/ad_block_list.py,sha256=qCQvbpONdSXk6q5tMwLuOswGYE1Syd8cy5TMIYFjTME,3380
22
22
  seleniumbase/config/proxy_list.py,sha256=RkXb1LK26rgEQ0qYoLrZ6B4e-dRQ-QOwztWUcqC1yb4,1091
23
- seleniumbase/config/settings.py,sha256=0Ptg0HB1wh-IJNGBOAQjnDh3z3NgVdb8LF2OBHmMbZU,7027
24
- seleniumbase/console_scripts/ReadMe.md,sha256=X0MC0VqQWgwGukpu0B8-2Io0C3LWuUPgn_F2BS8A-YM,19711
23
+ seleniumbase/config/settings.py,sha256=WEH3wuUCveHycUVXz_pkeOpo40xKDPjRtsR-61S2Y3s,7445
24
+ seleniumbase/console_scripts/ReadMe.md,sha256=6QBTQHvpTZVY-vbABG3OPwROkebO9yYUkcgxWPVAh_U,19711
25
25
  seleniumbase/console_scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  seleniumbase/console_scripts/logo_helper.py,sha256=Xz_-QeG153-5eGX5CbY7WDeFiJv7VeBDVjgGEmLl7f0,1732
27
27
  seleniumbase/console_scripts/rich_helper.py,sha256=U_zvXpalxVV8rtg8c8EnNNmnh45tii3AV5ZV3O3KbGA,2234
28
- seleniumbase/console_scripts/run.py,sha256=-bp0EINcPqTNVpFdsT9EXUfPl4dScTtd3nvoSpBS-gc,57801
29
- seleniumbase/console_scripts/sb_behave_gui.py,sha256=A4yrf6LTqkqgpOz8-zjFw8NLNt5nadeO1HwO0zteyzI,15167
30
- seleniumbase/console_scripts/sb_caseplans.py,sha256=KnxiwAXXMatZq03pVuaXoDoOQO6SGkqSA6RvTIJGcTU,18049
31
- seleniumbase/console_scripts/sb_commander.py,sha256=GgjFX6VWXctCUOTvYVq4EyxH8oETawqsKEDFi5hiY84,13239
32
- seleniumbase/console_scripts/sb_install.py,sha256=28aaBKFbt630fmYXLImE64-SPpKHP9O_o_1WznlutZY,41723
28
+ seleniumbase/console_scripts/run.py,sha256=IQRoIlIK0_JJqX7RRQ_qY0mWgk3Uh-ZlTZZr2oICATU,57814
29
+ seleniumbase/console_scripts/sb_behave_gui.py,sha256=GjM8NsTgcjte3Rwvl6fTWhWVSniKKF9tOugHH8iLToE,15153
30
+ seleniumbase/console_scripts/sb_caseplans.py,sha256=ykweMa0fbd-C7fBeE7JUrRfl8GmXdi71NGhJh0nS-EE,18023
31
+ seleniumbase/console_scripts/sb_commander.py,sha256=zM39kzAYp3b8V9aoqZ7ED2_Ns5dbqbMAnMpjUaYBD3s,13210
32
+ seleniumbase/console_scripts/sb_install.py,sha256=WiegprAyy-WaXBw6CHFdJW_l7lBl6wPOTxmyx3PkngY,41222
33
33
  seleniumbase/console_scripts/sb_mkchart.py,sha256=BYzgzxRA66MeIBhEjeJKa9BqvViWX8YHSqjquWMLh1w,11044
34
34
  seleniumbase/console_scripts/sb_mkdir.py,sha256=UkD3TqaObvsItE7UwIERXOSFlQQqSjf0lUkwaJbN7I8,29782
35
35
  seleniumbase/console_scripts/sb_mkfile.py,sha256=wvv22cYCVVmFNEE4TDws1S6Rdd8vGhl9beebVvyXl7U,15515
36
36
  seleniumbase/console_scripts/sb_mkpres.py,sha256=TfI1RV-MmUHLRlkdjyVpN3nrCsMxGGBsUUB5-4fLx88,11118
37
37
  seleniumbase/console_scripts/sb_mkrec.py,sha256=lRBqdHk9NfBW1VLa6l9GSaexvKpp6WYXX5GzvnzPXHk,9013
38
38
  seleniumbase/console_scripts/sb_objectify.py,sha256=SRYY_cZ-Ip6Lj65T2maXRyJctOWAFhGSc-Xlc-u-2CM,122140
39
- seleniumbase/console_scripts/sb_print.py,sha256=1mwFO7J0FPTfEa5-LwDa7eZEAOF0Tp811yj8M9gn7_c,30427
40
- seleniumbase/console_scripts/sb_recorder.py,sha256=T1gulg1Qq_vvAR7Q97k1g0J4L7j3bcYAq3FADqRuqqo,10581
39
+ seleniumbase/console_scripts/sb_print.py,sha256=PJyZ3jnaI6y1A-wL_PmuNhDwjIFSnKsDRmxK7FibaPo,30476
40
+ seleniumbase/console_scripts/sb_recorder.py,sha256=hKJXYLEd2sGKjc_mhUGI9rYHRqTD4kkzPc1G6xqw72Y,10628
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=L5t1YElo1yBErYNBCotp_1mBNiGfl52ua7s617M6lJg,137686
44
- seleniumbase/core/capabilities_parser.py,sha256=IC85bwCKlObCPcbF-il1IGwENnFo7QfzSmk7yfIn-jc,5760
43
+ seleniumbase/core/browser_launcher.py,sha256=jdIsouaFbioTivh3j2HAV6uZQHDSYolBAeIjmYeUmf4,137375
44
+ seleniumbase/core/capabilities_parser.py,sha256=lu2W7O1JrU9tLgvhx5gQ_Baqnkf3IjcPDzze0P2Ou-Y,5736
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
47
- seleniumbase/core/detect_b_ver.py,sha256=189ABm41qNK87t6pjqTs70Nj0arKMjynsmAosiqQIyI,9807
47
+ seleniumbase/core/detect_b_ver.py,sha256=iQBGGH6z8UzHP98XKAsIaxjdj5QBhYPna9fl6Fdt8NQ,9796
48
48
  seleniumbase/core/download_helper.py,sha256=YHEsFhm3sb5RRocpB9RBwAtaqUUTO6ZeQPA-stKX4lI,2087
49
49
  seleniumbase/core/encoded_images.py,sha256=rDKJ4cNJSuKiRcFViYU7bjyTS9_moI57gUPRXVg3u2k,14209
50
- seleniumbase/core/jqc_helper.py,sha256=QANgoYpFm6rI2hlzBmfJbSqWw3XiiSESnl6laQADSUE,10423
50
+ seleniumbase/core/jqc_helper.py,sha256=-_GvIoKXJsOb7DBZ2WH8c7cAxAn0x3-U0HeZaIqdksw,10421
51
51
  seleniumbase/core/log_helper.py,sha256=EhN1QKxmD4gp0_F1wAWYP1bK9nJblYX50xpvdfDePQc,21822
52
- seleniumbase/core/mysql.py,sha256=w7eNlBxu4oJx64SVI60yx-F6fQIbP2PngPzdFy8Pkuc,3483
53
- seleniumbase/core/proxy_helper.py,sha256=-1mvsxWAQ22-ckhwnZh23-A1txNZWLGTp1fB1Pq8Xi8,5103
54
- seleniumbase/core/recorder_helper.py,sha256=RQxaD4enuQhM6gQanFVWoly57MR9TjbOoqvRorpYFh4,23021
52
+ seleniumbase/core/mysql.py,sha256=BaOdm8KB89grfwyFUQ7Qt_p65kDivrEVoXH0WBpi9R4,3482
53
+ seleniumbase/core/proxy_helper.py,sha256=R00kmFWlj5yew9Yid_P4HWv7G6VKu2AQq0Ee5GbQ7Gs,7594
54
+ seleniumbase/core/recorder_helper.py,sha256=YMtUc8lHSPuIQnuDssVEKgyq5khOaMCKiCtsgrcxhq8,23020
55
55
  seleniumbase/core/report_helper.py,sha256=AIl6Qava2yW1uSzbLpJBlPlYDz0KE-rVhogh8hsGWBo,12201
56
- seleniumbase/core/s3_manager.py,sha256=O8bcYWsb7ScjilDJdkHH02WkVcSblZjz3XkdtpWhioY,3441
57
- seleniumbase/core/session_helper.py,sha256=QMLPkpehA8PZ6gEGX1_ZfOO_ZXdAf96jeVacq5CmhZ4,723
58
- seleniumbase/core/settings_parser.py,sha256=d2rstthi_lghqmsIYHedw_KNtZzvJibLpaNtwlYPydY,7070
56
+ seleniumbase/core/s3_manager.py,sha256=bkeI8I4y19ebWuQG1oEZV5qJbotC6eN8vin31OCNWJk,3521
57
+ seleniumbase/core/session_helper.py,sha256=0mhZWOJxHpWR8t0Wo1-jwofQBGVJebLXS8Gr8rlWvxo,686
58
+ seleniumbase/core/settings_parser.py,sha256=G995jNMnGUdEdDZOVpyNrHnAXukqtpP4zpszjLk8jPI,7193
59
59
  seleniumbase/core/style_sheet.py,sha256=tPpJ1xl6Kuw425Z-3Y0OgVRLGXk_ciBDREZjXk_NuPE,11395
60
60
  seleniumbase/core/testcase_manager.py,sha256=TblCfo8Zfap1Bayip-qTu9gqT-KALSwXAX4awBpnEHg,4633
61
61
  seleniumbase/core/tour_helper.py,sha256=kj2cz-DGKlw9SX3tWnVp-snpk6Flvqj81-xmKdKDtg0,42555
@@ -69,17 +69,17 @@ seleniumbase/extensions/disable_csp.zip,sha256=YMifIIgEBiLrEFrS1sfW4Exh4br1V4oK1
69
69
  seleniumbase/extensions/recorder.zip,sha256=wAyF8K9vPkmMyDAqpgKUEmL_WprHWuesv38FMidmgwQ,11876
70
70
  seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
71
71
  seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
- seleniumbase/fixtures/base_case.py,sha256=ZcmtZxMZj2iE5dMYzqkM6w1gFrnIi31PeDozSQryAyE,657241
73
- seleniumbase/fixtures/constants.py,sha256=llnD8kKsdR-PjGxnvyVs8JS7bGRVcVtoEMwSK5w9ciI,11911
74
- seleniumbase/fixtures/css_to_xpath.py,sha256=LFOO3m2JqoqeUSdzpY4b-aNYzG1DzKsX7LhCjhXSXGc,1959
75
- seleniumbase/fixtures/errors.py,sha256=WLR1Fg_SgOf92lrJmBWgta3wjQgTSLv6-XOcKpUtPbc,560
76
- seleniumbase/fixtures/js_utils.py,sha256=TDfLkh5i193YyY01A7b7yi5vS0h1Wy9LmvOK5qa6_BA,44625
77
- seleniumbase/fixtures/page_actions.py,sha256=rY2NJJw01aszIb9sBfbEdaY5h00OeLYi7RGy7Wgv50g,48848
78
- seleniumbase/fixtures/page_utils.py,sha256=PiBfY7TvjosIGawaXaDxjY668N7yx_htAdcI3hUfUVQ,9640
79
- seleniumbase/fixtures/shared_utils.py,sha256=7LubzdEUo5WED5bYFF0Q9qZvp2Ycby-H2o2G3ZMRv4s,7643
72
+ seleniumbase/fixtures/base_case.py,sha256=BWhGrCMjnaYdLcpeURL38nvcIOjJFZDYoUkNWBKfPnc,658068
73
+ seleniumbase/fixtures/constants.py,sha256=jBbLJQgDnQdx8OjVsxysiRM35N1NruKzFiUIqzcL6o0,11886
74
+ seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
75
+ seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
76
+ seleniumbase/fixtures/js_utils.py,sha256=u-zvTRpYwjABB8aO1fUDEcEBzcF2glybWSOaZha_LDs,44528
77
+ seleniumbase/fixtures/page_actions.py,sha256=HHuRLsJIQiYMDQsATty9H6nWznMQ82rulnc0HhCFYuE,48797
78
+ seleniumbase/fixtures/page_utils.py,sha256=4n1HhzUYNRqs3Ci_YjZ9nJKEqeeqMiTaaMq_8xx2gd4,9639
79
+ seleniumbase/fixtures/shared_utils.py,sha256=gjcPRKTp8iN_H8mnkBTf17Sps24pmhd5niM7KAScSoA,5378
80
80
  seleniumbase/fixtures/unittest_helper.py,sha256=sfZ92rZeBAn_sF_yQ3I6_I7h3lyU5-cV_UMegBNoEm8,1294
81
81
  seleniumbase/fixtures/words.py,sha256=YkdUA51Bt51YHalFFtsCVVGke2AYrEhtWo8QE41Jir0,7117
82
- seleniumbase/fixtures/xpath_to_css.py,sha256=w0BxPOHnES8HZxddNMayBqLRYhkmpdk0FZJd922buHQ,8877
82
+ seleniumbase/fixtures/xpath_to_css.py,sha256=SIqctvTav-sGZPfDMPpzLyO4fxOrmLVpW8vuQW9SKX0,8875
83
83
  seleniumbase/js_code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
84
  seleniumbase/js_code/active_css_js.py,sha256=EGIGYnfh_Tcmp10dYSdtUXSu0tU_p0U44gx8HUerGxw,9777
85
85
  seleniumbase/js_code/live_js.py,sha256=yfJTRhKOXhsaonkQ2e0JGUTXBnQBASTw2zXukhlyQfA,6619
@@ -88,16 +88,16 @@ seleniumbase/masterqa/ReadMe.md,sha256=ZzvsTSY9MCZnIR9e_ZvMxeo6NTOBVad0nCilBenXm
88
88
  seleniumbase/masterqa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
89
  seleniumbase/masterqa/master_qa.py,sha256=jLWmAx32Rnu1IhmvrRt8BbsUIcDW5xYj2ouVozny-Y4,19258
90
90
  seleniumbase/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
- seleniumbase/plugins/base_plugin.py,sha256=IcvfZaGLMtVJAYvdShVofiqqU-5nRQLcREUqpcnl-Yc,14210
92
- seleniumbase/plugins/basic_test_info.py,sha256=aoNynuw1jWF8LNDhcRQB6aMv7CwKn-gPvtMG13TKmbA,2093
93
- seleniumbase/plugins/db_reporting_plugin.py,sha256=DD8F2FIyGGIn2VEDOc_2hPwAcSXblzX57nyH_UFJq20,7281
94
- seleniumbase/plugins/driver_manager.py,sha256=gMFQ-bUkh9ENfILGlFyASpeZBhaV9ei9D5KuR1IT2vU,17064
95
- seleniumbase/plugins/page_source.py,sha256=woH_gqMCytoOaAbvcF7T2W11AbJzMgAIe3M1YlkJi6U,2056
96
- seleniumbase/plugins/pytest_plugin.py,sha256=nxB8F0qUaPCpSnHw08PbMbfhTQ-UjJ9gb-LI2GR1nps,91073
97
- seleniumbase/plugins/s3_logging_plugin.py,sha256=jw2_fb0i27Cf6nh8nOCuASEBF3KJZCVbSSJt03lbWMs,1956
98
- seleniumbase/plugins/sb_manager.py,sha256=VTOOAMb0R1EwvyvHhecL23yd_5_1X-CFShDKICnqA94,35331
99
- seleniumbase/plugins/screen_shots.py,sha256=qZ6M-dC6MZQXVSISZBztOs7qZz2RY06iSPSA-Trv5EI,1138
100
- seleniumbase/plugins/selenium_plugin.py,sha256=0dg-95tejkOdjFBhvUvanOYdkwHE_niYjNCaI4TsKPg,52992
91
+ seleniumbase/plugins/base_plugin.py,sha256=Ji8X2p-oRWl3_vgFCcUEnsxW65N1YCMkplJ25qoYW3s,14214
92
+ seleniumbase/plugins/basic_test_info.py,sha256=8ov6n417gPbqqvrlT4zrch7l2XcRt-GF2ny6rR9AMWk,2108
93
+ seleniumbase/plugins/db_reporting_plugin.py,sha256=cLIwG2CQFOA7lr4-uxmqPeL9WjUGbiBhgWkeUaNk_zI,7284
94
+ seleniumbase/plugins/driver_manager.py,sha256=_29O-gfUEUqRTqdTm-V-9hXTdFH8nfXlstfDhaLKxoI,17115
95
+ seleniumbase/plugins/page_source.py,sha256=loTnXxOj4kxEukuTZEiGyvKBhY3KDVDMnNlHHheTBDE,1889
96
+ seleniumbase/plugins/pytest_plugin.py,sha256=zuEbYe_HjM4zngoh_fRP-X1RxwREwE0zexBSJfDkqfg,91162
97
+ seleniumbase/plugins/s3_logging_plugin.py,sha256=WDfertQgGOW_SRJpFMaekYD6vBVW9VO62POtXXy2HCM,2319
98
+ seleniumbase/plugins/sb_manager.py,sha256=8a3-0K3VTStTtEDj_ThSHSpRrtoNzKcwo53sDnORQLo,35331
99
+ seleniumbase/plugins/screen_shots.py,sha256=1hrXw-hzuZ1BR6Yh7AyWX2ABnvnP73-RCbwdz958gj4,1127
100
+ seleniumbase/plugins/selenium_plugin.py,sha256=Oed49od-1xTCk1KYcnc3c1z0iIzaQ1qpMMuYsWhUqhw,52977
101
101
  seleniumbase/resources/ReadMe.md,sha256=uminnO5_Uv-UZDKcc9a9s9kxisaYUps-H98Fp5PJcaU,2124
102
102
  seleniumbase/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
103
  seleniumbase/resources/favicon.ico,sha256=QPf_YK0QXa_--C4_CH-odh6OTHRQ9k-4O6WcCpXSdwM,1150
@@ -112,8 +112,8 @@ seleniumbase/translate/master_dict.py,sha256=1Owurb9fLS71I0d18o0eIqsyPBJl3Imx3WB
112
112
  seleniumbase/translate/portuguese.py,sha256=8tYWSdz6qJ2Y1vzfq3zgDHv9F0aMpxz3p1r5Ck_kLFA,25208
113
113
  seleniumbase/translate/russian.py,sha256=idzTrmmpgL-aFbfVxb9Xc7S3Bk58XhMuTbDkkvocW0k,27793
114
114
  seleniumbase/translate/spanish.py,sha256=dw88vKa1GF0QTSb70RGDgHuXsqxQ3MKionbl9TdjVwY,25368
115
- seleniumbase/translate/translator.py,sha256=1XhrBChYAoZWX2E4RGY4NPYl_phSPaHdX3IN0riptnY,50916
116
- seleniumbase/undetected/__init__.py,sha256=Upg3fTJ15Sc47FE57pkN7FikWdP08SD4iGL16BaZKws,20289
115
+ seleniumbase/translate/translator.py,sha256=lM9ISYjrTE9WAnqJPq2NJaUTJjkbxcOycgDZlMH42tc,49211
116
+ seleniumbase/undetected/__init__.py,sha256=NiNWKiZRR8jKsfIxrLZrWLTmDUATavy3GDqo50CVM8U,19326
117
117
  seleniumbase/undetected/cdp.py,sha256=EralLQm8diG5i6EoHFXHIQEc7Uf7PWtzyPH_upS5RIs,4047
118
118
  seleniumbase/undetected/dprocess.py,sha256=WWQ_X_-Q7Lfx1m6oxkYHU0eTIc76Jodph4n1QnK4GEE,1706
119
119
  seleniumbase/undetected/options.py,sha256=SGuz8iqlVPYN7IexNiGauupWF0xP3mqO72-9tgIqeuI,2999
@@ -127,8 +127,8 @@ seleniumbase/utilities/selenium_grid/download_selenium_server.py,sha256=ZdoInIbh
127
127
  seleniumbase/utilities/selenium_grid/font_color,sha256=NLVgBzkyygZjIf_hZWpMUlO5kHIUWG7ZWyoLhaLUCgY,468
128
128
  seleniumbase/utilities/selenium_grid/grid-hub,sha256=v7z2qYzHk4pZ_I794rS6xTfyw_TVIrUHxNDwsbUPbtw,3021
129
129
  seleniumbase/utilities/selenium_grid/grid-node,sha256=B3lHB81pVpn5j99cvB_Tzktykf-ZcGX6jFl0Wb-e9Vw,3186
130
- seleniumbase/utilities/selenium_grid/grid_hub.py,sha256=XL_8S3snZ06VRHAtryMgur9Lz3sRU539lDNwdYuUEy0,5023
131
- seleniumbase/utilities/selenium_grid/grid_node.py,sha256=KiDimuan6j8yoWrEbhDQ1ZiKEEKswtP5vyCPfr7I7No,5444
130
+ seleniumbase/utilities/selenium_grid/grid_hub.py,sha256=0bVRg2SkIDGw_giudA1aPExkzprHo0Ql0Zqy1RMCmfY,5067
131
+ seleniumbase/utilities/selenium_grid/grid_node.py,sha256=aPvhmbmST3A0jtI5pYDOakdXf5Wl7JW66ppxbJwlms4,5488
132
132
  seleniumbase/utilities/selenium_grid/register-grid-node.bat,sha256=d-PTBiMXyRAsJQ7f86BSV6ThyYvL7EL-RTSgGVHWL70,263
133
133
  seleniumbase/utilities/selenium_grid/register-grid-node.sh,sha256=TJE3VkkpXsR3GsBtULIRhsAPuW9LJlglKAHJ-QHkK3c,275
134
134
  seleniumbase/utilities/selenium_grid/start-grid-hub.bat,sha256=Ftq-GrAKRYH2ssDPrI3F0tw3EB4BZ4oGplOObX9cuTA,94
@@ -136,9 +136,9 @@ seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443
136
136
  seleniumbase/utilities/selenium_ide/ReadMe.md,sha256=hznGeuMpkIimqMiZBW-4goIy2ltW4l8X9kb0YSPUQfE,4483
137
137
  seleniumbase/utilities/selenium_ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
138
  seleniumbase/utilities/selenium_ide/convert_ide.py,sha256=pZFnqEJQEKZPyNFjkLD29s2HPQgCrWW9XJWpCPhWOoM,31691
139
- seleniumbase-4.15.15.dist-info/LICENSE,sha256=9CweYVs2pqSWEApWewHooJ5p5F44GV0wSXi-jV0kA_U,1085
140
- seleniumbase-4.15.15.dist-info/METADATA,sha256=wMtx8CrvOssnasoDYa-YoaBkAhNVAB0PKRLEz7u_LWw,82109
141
- seleniumbase-4.15.15.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
142
- seleniumbase-4.15.15.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
143
- seleniumbase-4.15.15.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
144
- seleniumbase-4.15.15.dist-info/RECORD,,
139
+ seleniumbase-4.16.0.dist-info/LICENSE,sha256=9CweYVs2pqSWEApWewHooJ5p5F44GV0wSXi-jV0kA_U,1085
140
+ seleniumbase-4.16.0.dist-info/METADATA,sha256=R2WHuqvjUwtHzZfnilF2oHy1pOEYNM-vcuq3XLV2m9k,82119
141
+ seleniumbase-4.16.0.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
142
+ seleniumbase-4.16.0.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
143
+ seleniumbase-4.16.0.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
144
+ seleniumbase-4.16.0.dist-info/RECORD,,