seleniumbase 4.33.15__tar.gz → 4.33.16a0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (393) hide show
  1. {seleniumbase-4.33.15/seleniumbase.egg-info → seleniumbase-4.33.16a0}/PKG-INFO +6 -4
  2. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_recaptcha.py +0 -9
  3. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/uc_cdp_events.py +1 -1
  4. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/verify_undetected.py +1 -1
  5. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/requirements.txt +5 -3
  6. seleniumbase-4.33.16a0/seleniumbase/__version__.py +2 -0
  7. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/sb_commander.py +5 -5
  8. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/browser_launcher.py +26 -0
  9. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/fixtures/base_case.py +23 -5
  10. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/plugins/pytest_plugin.py +42 -0
  11. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0/seleniumbase.egg-info}/PKG-INFO +6 -4
  12. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase.egg-info/requires.txt +5 -3
  13. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/setup.py +5 -3
  14. seleniumbase-4.33.15/seleniumbase/__version__.py +0 -2
  15. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/.gitignore +0 -0
  16. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/LICENSE +0 -0
  17. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/MANIFEST.in +0 -0
  18. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/README.md +0 -0
  19. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/__init__.py +0 -0
  20. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/basic_test.py +0 -0
  21. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/behave_bdd/__init__.py +0 -0
  22. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/behave_bdd/features/__init__.py +0 -0
  23. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/behave_bdd/features/environment.py +0 -0
  24. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/behave_bdd/features/steps/__init__.py +0 -0
  25. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/behave_bdd/features/steps/calculator.py +0 -0
  26. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/behave_bdd/features/steps/fail_page.py +0 -0
  27. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/behave_bdd/features/steps/imported.py +0 -0
  28. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/behave_bdd/features/steps/swag_labs.py +0 -0
  29. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/__init__.py +0 -0
  30. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/base_test_case.py +0 -0
  31. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/boilerplate_test.py +0 -0
  32. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/classic_obj_test.py +0 -0
  33. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/page_objects.py +0 -0
  34. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/samples/__init__.py +0 -0
  35. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/samples/file_parsing/__init__.py +0 -0
  36. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/samples/file_parsing/parse_files.py +0 -0
  37. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/samples/google_objects.py +0 -0
  38. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/samples/google_test.py +0 -0
  39. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/samples/sb_swag_test.py +0 -0
  40. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/samples/swag_labs_test.py +0 -0
  41. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/samples/test_page_objects.py +0 -0
  42. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/boilerplates/sb_fixture_test.py +0 -0
  43. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/capabilities/mac_cap_file.py +0 -0
  44. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/capabilities/sample_cap_file_BS.py +0 -0
  45. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/capabilities/sample_cap_file_SL.py +0 -0
  46. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/capabilities/selenoid_cap_file.py +0 -0
  47. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/capabilities/win10_cap_file.py +0 -0
  48. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/chart_maker/chart_presentation.py +0 -0
  49. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/chart_maker/my_chart.py +0 -0
  50. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/chart_maker/pie_charts.py +0 -0
  51. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/chart_maker/test_area_chart.py +0 -0
  52. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/chart_maker/test_display_chart.py +0 -0
  53. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/chart_maker/test_line_chart.py +0 -0
  54. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/chart_maker/test_multi_series.py +0 -0
  55. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/chart_maker/test_save_chart.py +0 -0
  56. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/coffee_cart_tests.py +0 -0
  57. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/custom_settings.py +0 -0
  58. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/desktop_apps/recorder.py +0 -0
  59. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/dialog_boxes/dialog_box_tour.py +0 -0
  60. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/edge_test.py +0 -0
  61. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/github_test.py +0 -0
  62. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/gui_test_runner.py +0 -0
  63. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/hack_the_planet.py +0 -0
  64. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/handle_alert_test.py +0 -0
  65. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/iframe_tests.py +0 -0
  66. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/locale_code_test.py +0 -0
  67. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/master_qa/__init__.py +0 -0
  68. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/master_qa/basic_masterqa_test_0.py +0 -0
  69. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/master_qa/masterqa_test_1.py +0 -0
  70. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/migration/__init__.py +0 -0
  71. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/migration/protractor/__init__.py +0 -0
  72. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/migration/protractor/example_test.py +0 -0
  73. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/migration/protractor/input_test.py +0 -0
  74. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/migration/protractor/mat_paginator_test.py +0 -0
  75. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/migration/raw_selenium/__init__.py +0 -0
  76. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/migration/raw_selenium/flaky_messy_raw.py +0 -0
  77. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/migration/raw_selenium/long_messy_raw.py +0 -0
  78. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/migration/raw_selenium/messy_raw.py +0 -0
  79. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/migration/raw_selenium/refined_raw.py +0 -0
  80. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/migration/raw_selenium/simple_sbase.py +0 -0
  81. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/my_first_test.py +0 -0
  82. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/nth_child_test.py +0 -0
  83. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/offline_examples/__init__.py +0 -0
  84. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/offline_examples/load_html_test.py +0 -0
  85. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/offline_examples/test_demo_page.py +0 -0
  86. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/offline_examples/test_extended_driver.py +0 -0
  87. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/offline_examples/test_handle_alerts.py +0 -0
  88. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/offline_examples/test_request_fixture.py +0 -0
  89. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/offline_examples/test_user_agent.py +0 -0
  90. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/old_wordle_script.py +0 -0
  91. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/parameterized_test.py +0 -0
  92. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/performance_test.py +0 -0
  93. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/presenter/core_presentation.py +0 -0
  94. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/presenter/edge_presentation.py +0 -0
  95. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/presenter/fundamentals.py +0 -0
  96. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/presenter/multi_uc.py +0 -0
  97. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/presenter/my_presentation.py +0 -0
  98. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/presenter/py_virtual_envs.py +0 -0
  99. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/presenter/uc_presentation.py +0 -0
  100. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/presenter/uc_presentation_3.py +0 -0
  101. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/proxy_test.py +0 -0
  102. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/rate_limiting_test.py +0 -0
  103. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_ahrefs.py +0 -0
  104. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_antibot_login.py +0 -0
  105. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_bing_captcha.py +0 -0
  106. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_block.py +0 -0
  107. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_brotector_captcha.py +0 -0
  108. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_call.py +0 -0
  109. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_cdp_logging.py +0 -0
  110. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_cf.py +0 -0
  111. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_cookies.py +0 -0
  112. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_detection.py +0 -0
  113. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_driver_context.py +0 -0
  114. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_driver_manager.py +0 -0
  115. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_file_call.py +0 -0
  116. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_form_turnstile.py +0 -0
  117. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_games.py +0 -0
  118. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_gui_click.py +0 -0
  119. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_hobbit.py +0 -0
  120. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_login_context.py +0 -0
  121. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_login_driver.py +0 -0
  122. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_login_sb.py +0 -0
  123. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_main_call.py +0 -0
  124. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_mobile.py +0 -0
  125. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_multi_drivers.py +0 -0
  126. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_nopecha.py +0 -0
  127. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_order_tickets.py +0 -0
  128. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_parameter_script.py +0 -0
  129. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_performance_logs.py +0 -0
  130. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_pixelscan.py +0 -0
  131. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_pyautogui.py +0 -0
  132. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_robot.py +0 -0
  133. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_sb.py +0 -0
  134. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_test_scripts.py +0 -0
  135. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_turnstile.py +0 -0
  136. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/raw_uc_mode.py +0 -0
  137. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/sb_fixture_tests.py +0 -0
  138. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/shadow_root_test.py +0 -0
  139. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/swag_labs_user_tests.py +0 -0
  140. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_3d_apis.py +0 -0
  141. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_apple_site.py +0 -0
  142. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_assert_elements.py +0 -0
  143. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_calculator.py +0 -0
  144. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_canvas.py +0 -0
  145. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_cdp_ad_blocking.py +0 -0
  146. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_checkboxes.py +0 -0
  147. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_chinese_pdf.py +0 -0
  148. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_chromedriver.py +0 -0
  149. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_coffee_cart.py +0 -0
  150. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_console_logging.py +0 -0
  151. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_contains_selector.py +0 -0
  152. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_cycle_elements.py +0 -0
  153. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_decryption.py +0 -0
  154. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_deferred_asserts.py +0 -0
  155. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_demo_site.py +0 -0
  156. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_detect_404s.py +0 -0
  157. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_docs_site.py +0 -0
  158. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_double_click.py +0 -0
  159. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_download_files.py +0 -0
  160. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_download_images.py +0 -0
  161. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_drag_and_drop.py +0 -0
  162. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_error_page.py +0 -0
  163. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_event_firing.py +0 -0
  164. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_fail.py +0 -0
  165. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_geolocation.py +0 -0
  166. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_get_coffee.py +0 -0
  167. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_get_locale_code.py +0 -0
  168. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_get_pdf_text.py +0 -0
  169. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_get_user_agent.py +0 -0
  170. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_hack_search.py +0 -0
  171. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_highlight_elements.py +0 -0
  172. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_image_saving.py +0 -0
  173. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_inspect_html.py +0 -0
  174. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_login.py +0 -0
  175. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_markers.py +0 -0
  176. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_mfa_login.py +0 -0
  177. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_multiple_drivers.py +0 -0
  178. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_null.py +0 -0
  179. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_override_driver.py +0 -0
  180. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_override_sb_fixture.py +0 -0
  181. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_parse_soup.py +0 -0
  182. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_pdf_asserts.py +0 -0
  183. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_pytest_parametrize.py +0 -0
  184. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_repeat_tests.py +0 -0
  185. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_request_sb_fixture.py +0 -0
  186. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_save_screenshots.py +0 -0
  187. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_sb_fixture.py +0 -0
  188. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_scrape_bing.py +0 -0
  189. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_select_options.py +0 -0
  190. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_shadow_dom.py +0 -0
  191. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_show_file_choosers.py +0 -0
  192. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_simple_login.py +0 -0
  193. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_skype_site.py +0 -0
  194. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_suite.py +0 -0
  195. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_swag_labs.py +0 -0
  196. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_tinymce.py +0 -0
  197. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_todomvc.py +0 -0
  198. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_url_asserts.py +0 -0
  199. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_usefixtures.py +0 -0
  200. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_verify_chromedriver.py +0 -0
  201. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_window_switching.py +0 -0
  202. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_xfail.py +0 -0
  203. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/test_xkcd.py +0 -0
  204. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/time_limit_test.py +0 -0
  205. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/tour_examples/bootstrap_google_tour.py +0 -0
  206. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/tour_examples/bootstrap_xkcd_tour.py +0 -0
  207. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/tour_examples/driverjs_maps_tour.py +0 -0
  208. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/tour_examples/google_tour.py +0 -0
  209. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/tour_examples/hopscotch_google_tour.py +0 -0
  210. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/tour_examples/introjs_google_tour.py +0 -0
  211. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/tour_examples/maps_introjs_tour.py +0 -0
  212. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/tour_examples/octocat_tour.py +0 -0
  213. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/tour_examples/recordings/__init__.py +0 -0
  214. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/tour_examples/recordings/shepherd_google_tour_rec.py +0 -0
  215. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/tour_examples/shepherd_google_tour.py +0 -0
  216. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/tour_examples/xkcd_tour.py +0 -0
  217. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/translations/chinese_test_1.py +0 -0
  218. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/translations/dutch_test_1.py +0 -0
  219. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/translations/english_test_1.py +0 -0
  220. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/translations/french_test_1.py +0 -0
  221. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/translations/italian_test_1.py +0 -0
  222. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/translations/japanese_test_1.py +0 -0
  223. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/translations/korean_test_1.py +0 -0
  224. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/translations/portuguese_test_1.py +0 -0
  225. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/translations/russian_test_1.py +0 -0
  226. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/translations/spanish_test_1.py +0 -0
  227. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/unit_tests/verify_framework.py +0 -0
  228. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/upgrade_chromedriver.py +0 -0
  229. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/upload_file_test.py +0 -0
  230. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/user_agent_test.py +0 -0
  231. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/visual_testing/__init__.py +0 -0
  232. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/visual_testing/layout_test.py +0 -0
  233. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/visual_testing/python_home_test.py +0 -0
  234. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/visual_testing/test_layout_fail.py +0 -0
  235. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/visual_testing/xkcd_visual_test.py +0 -0
  236. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/wordle_test.py +0 -0
  237. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/xpath_test.py +0 -0
  238. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/examples/youtube_search_test.py +0 -0
  239. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/install.sh +0 -0
  240. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/integrations/__init__.py +0 -0
  241. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/integrations/behave/features/__init__.py +0 -0
  242. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/integrations/behave/features/environment.py +0 -0
  243. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/integrations/behave/features/steps/__init__.py +0 -0
  244. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/integrations/behave/features/steps/calculator.py +0 -0
  245. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/integrations/behave/features/steps/fail_page.py +0 -0
  246. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/integrations/behave/features/steps/real_world.py +0 -0
  247. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/integrations/behave/features/steps/swag_labs.py +0 -0
  248. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/integrations/brython/index.py +0 -0
  249. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/integrations/node_js/__init__.py +0 -0
  250. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/integrations/node_js/my_first_test.py +0 -0
  251. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/integrations/node_js/test_demo_site.py +0 -0
  252. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/mkdocs_build/prepare.py +0 -0
  253. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/pyproject.toml +0 -0
  254. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/pytest.ini +0 -0
  255. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/sbase/__init__.py +0 -0
  256. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/sbase/__main__.py +0 -0
  257. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/sbase/steps.py +0 -0
  258. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/__init__.py +0 -0
  259. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/__main__.py +0 -0
  260. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/behave/__init__.py +0 -0
  261. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/behave/behave_helper.py +0 -0
  262. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/behave/behave_sb.py +0 -0
  263. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/behave/steps.py +0 -0
  264. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/common/__init__.py +0 -0
  265. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/common/decorators.py +0 -0
  266. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/common/encryption.py +0 -0
  267. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/common/exceptions.py +0 -0
  268. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/common/obfuscate.py +0 -0
  269. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/common/unobfuscate.py +0 -0
  270. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/config/__init__.py +0 -0
  271. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/config/ad_block_list.py +0 -0
  272. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/config/proxy_list.py +0 -0
  273. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/config/settings.py +0 -0
  274. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/__init__.py +0 -0
  275. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/logo_helper.py +0 -0
  276. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/rich_helper.py +0 -0
  277. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/run.py +0 -0
  278. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
  279. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
  280. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/sb_install.py +0 -0
  281. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
  282. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
  283. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
  284. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
  285. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
  286. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/sb_objectify.py +0 -0
  287. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/sb_print.py +0 -0
  288. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/console_scripts/sb_recorder.py +0 -0
  289. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/__init__.py +0 -0
  290. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/application_manager.py +0 -0
  291. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/capabilities_parser.py +0 -0
  292. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/colored_traceback.py +0 -0
  293. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/create_db_tables.sql +0 -0
  294. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/detect_b_ver.py +0 -0
  295. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/download_helper.py +0 -0
  296. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/encoded_images.py +0 -0
  297. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/jqc_helper.py +0 -0
  298. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/log_helper.py +0 -0
  299. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/mysql.py +0 -0
  300. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/proxy_helper.py +0 -0
  301. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/recorder_helper.py +0 -0
  302. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/report_helper.py +0 -0
  303. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/s3_manager.py +0 -0
  304. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/sb_cdp.py +0 -0
  305. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/sb_driver.py +0 -0
  306. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/session_helper.py +0 -0
  307. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/settings_parser.py +0 -0
  308. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/style_sheet.py +0 -0
  309. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/testcase_manager.py +0 -0
  310. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/tour_helper.py +0 -0
  311. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/core/visual_helper.py +0 -0
  312. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/drivers/__init__.py +0 -0
  313. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/extensions/__init__.py +0 -0
  314. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/extensions/ad_block.zip +0 -0
  315. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/extensions/disable_csp.zip +0 -0
  316. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/extensions/recorder.zip +0 -0
  317. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/extensions/sbase_ext.zip +0 -0
  318. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/fixtures/__init__.py +0 -0
  319. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/fixtures/constants.py +0 -0
  320. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/fixtures/css_to_xpath.py +0 -0
  321. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/fixtures/errors.py +0 -0
  322. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/fixtures/js_utils.py +0 -0
  323. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/fixtures/page_actions.py +0 -0
  324. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/fixtures/page_utils.py +0 -0
  325. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/fixtures/shared_utils.py +0 -0
  326. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/fixtures/unittest_helper.py +0 -0
  327. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/fixtures/words.py +0 -0
  328. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/fixtures/xpath_to_css.py +0 -0
  329. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/js_code/__init__.py +0 -0
  330. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/js_code/active_css_js.py +0 -0
  331. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/js_code/live_js.py +0 -0
  332. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/js_code/recorder_js.py +0 -0
  333. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/masterqa/__init__.py +0 -0
  334. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/masterqa/master_qa.py +0 -0
  335. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/plugins/__init__.py +0 -0
  336. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/plugins/base_plugin.py +0 -0
  337. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/plugins/basic_test_info.py +0 -0
  338. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
  339. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/plugins/driver_manager.py +0 -0
  340. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/plugins/page_source.py +0 -0
  341. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
  342. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/plugins/sb_manager.py +0 -0
  343. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/plugins/screen_shots.py +0 -0
  344. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/plugins/selenium_plugin.py +0 -0
  345. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/resources/__init__.py +0 -0
  346. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/translate/__init__.py +0 -0
  347. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/translate/chinese.py +0 -0
  348. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/translate/dutch.py +0 -0
  349. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/translate/french.py +0 -0
  350. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/translate/italian.py +0 -0
  351. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/translate/japanese.py +0 -0
  352. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/translate/korean.py +0 -0
  353. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/translate/master_dict.py +0 -0
  354. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/translate/portuguese.py +0 -0
  355. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/translate/russian.py +0 -0
  356. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/translate/spanish.py +0 -0
  357. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/translate/translator.py +0 -0
  358. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/__init__.py +0 -0
  359. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/cdp.py +0 -0
  360. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
  361. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
  362. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
  363. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
  364. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/cdp_driver/config.py +0 -0
  365. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
  366. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/cdp_driver/element.py +0 -0
  367. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
  368. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/dprocess.py +0 -0
  369. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/options.py +0 -0
  370. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/patcher.py +0 -0
  371. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/reactor.py +0 -0
  372. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/undetected/webelement.py +0 -0
  373. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/__init__.py +0 -0
  374. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
  375. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
  376. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/selenium_grid/font_color +0 -0
  377. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
  378. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
  379. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
  380. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
  381. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
  382. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
  383. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
  384. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
  385. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
  386. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
  387. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase.egg-info/SOURCES.txt +0 -0
  388. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase.egg-info/dependency_links.txt +0 -0
  389. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase.egg-info/entry_points.txt +0 -0
  390. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/seleniumbase.egg-info/top_level.txt +0 -0
  391. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/setup.cfg +0 -0
  392. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/site/prepare.py +0 -0
  393. {seleniumbase-4.33.15 → seleniumbase-4.33.16a0}/virtualenv_install.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: seleniumbase
3
- Version: 4.33.15
3
+ Version: 4.33.16a0
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
@@ -68,8 +68,9 @@ Requires-Dist: attrs>=24.3.0
68
68
  Requires-Dist: certifi>=2024.12.14
69
69
  Requires-Dist: exceptiongroup>=1.2.2
70
70
  Requires-Dist: websockets~=13.1; python_version < "3.9"
71
- Requires-Dist: websockets>=14.1; python_version >= "3.9"
72
- Requires-Dist: filelock>=3.16.1
71
+ Requires-Dist: websockets>=14.2; python_version >= "3.9"
72
+ Requires-Dist: filelock~=3.16.1; python_version < "3.9"
73
+ Requires-Dist: filelock>=3.17.0; python_version >= "3.9"
73
74
  Requires-Dist: fasteners>=0.19
74
75
  Requires-Dist: mycdp>=1.1.0
75
76
  Requires-Dist: pynose>=1.5.3
@@ -102,7 +103,8 @@ Requires-Dist: trio==0.28.0; python_version >= "3.9"
102
103
  Requires-Dist: trio-websocket==0.11.1
103
104
  Requires-Dist: wsproto==1.2.0
104
105
  Requires-Dist: websocket-client==1.8.0
105
- Requires-Dist: selenium==4.27.1
106
+ Requires-Dist: selenium==4.27.1; python_version < "3.9"
107
+ Requires-Dist: selenium==4.28.0; python_version >= "3.9"
106
108
  Requires-Dist: cssselect==1.2.0
107
109
  Requires-Dist: sortedcontainers==2.4.0
108
110
  Requires-Dist: execnet==2.1.1
@@ -1,14 +1,5 @@
1
1
  from seleniumbase import SB
2
2
 
3
- with SB(uc=True, test=True, incognito=True) as sb:
4
- url = "https://seleniumbase.io/apps/recaptcha"
5
- sb.activate_cdp_mode(url)
6
- sb.sleep(1)
7
- sb.uc_gui_handle_captcha() # Try with TAB + SPACEBAR
8
- sb.assert_element("img#captcha-success", timeout=3)
9
- sb.set_messenger_theme(location="top_left")
10
- sb.post_message("SeleniumBase wasn't detected", duration=3)
11
-
12
3
  with SB(uc=True, test=True, incognito=True) as sb:
13
4
  url = "https://seleniumbase.io/apps/recaptcha"
14
5
  sb.activate_cdp_mode(url)
@@ -1,6 +1,6 @@
1
1
  from rich.pretty import pprint
2
2
  from seleniumbase import BaseCase
3
- BaseCase.main(__name__, __file__, "--uc", "--uc-cdp", "-s")
3
+ BaseCase.main(__name__, __file__, "--uc", "--uc-cdp")
4
4
 
5
5
 
6
6
  class CDPTests(BaseCase):
@@ -2,7 +2,7 @@
2
2
  Some sites use scripts to detect Selenium, and then block you.
3
3
  To evade detection, add --uc as a pytest command-line option."""
4
4
  from seleniumbase import BaseCase
5
- BaseCase.main(__name__, __file__, "--uc", "-s")
5
+ BaseCase.main(__name__, __file__, "--uc")
6
6
 
7
7
 
8
8
  class UndetectedTest(BaseCase):
@@ -7,8 +7,9 @@ attrs>=24.3.0
7
7
  certifi>=2024.12.14
8
8
  exceptiongroup>=1.2.2
9
9
  websockets~=13.1;python_version<"3.9"
10
- websockets>=14.1;python_version>="3.9"
11
- filelock>=3.16.1
10
+ websockets>=14.2;python_version>="3.9"
11
+ filelock~=3.16.1;python_version<"3.9"
12
+ filelock>=3.17.0;python_version>="3.9"
12
13
  fasteners>=0.19
13
14
  mycdp>=1.1.0
14
15
  pynose>=1.5.3
@@ -41,7 +42,8 @@ trio==0.28.0;python_version>="3.9"
41
42
  trio-websocket==0.11.1
42
43
  wsproto==1.2.0
43
44
  websocket-client==1.8.0
44
- selenium==4.27.1
45
+ selenium==4.27.1;python_version<"3.9"
46
+ selenium==4.28.0;python_version>="3.9"
45
47
  cssselect==1.2.0
46
48
  sortedcontainers==2.4.0
47
49
  execnet==2.1.1
@@ -0,0 +1,2 @@
1
+ # seleniumbase package
2
+ __version__ = "4.33.16a0"
@@ -156,9 +156,9 @@ def do_pytest_run(
156
156
  if save_screenshots:
157
157
  full_run_command += " --screenshot"
158
158
 
159
- dash_s_needed = False
160
- if "-s" not in additional_options.split(" "):
161
- dash_s_needed = True
159
+ capture_needed = False
160
+ if "--capture" not in additional_options.split(" "):
161
+ capture_needed = True
162
162
 
163
163
  additional_options = additional_options.strip()
164
164
  if additional_options:
@@ -168,8 +168,8 @@ def do_pytest_run(
168
168
  if verbose:
169
169
  full_run_command += " -v"
170
170
 
171
- if dash_s_needed:
172
- full_run_command += " -s"
171
+ if capture_needed:
172
+ full_run_command += " --capture=tee-sys"
173
173
 
174
174
  print(full_run_command)
175
175
  subprocess.Popen(full_run_command, shell=True)
@@ -888,6 +888,13 @@ def __install_pyautogui_if_missing():
888
888
  _xvfb_display.start()
889
889
  sb_config._virtual_display = _xvfb_display
890
890
  sb_config.headless_active = True
891
+ if (
892
+ hasattr(sb_config, "reuse_session")
893
+ and sb_config.reuse_session
894
+ and hasattr(sb_config, "_vd_list")
895
+ and isinstance(sb_config._vd_list, list)
896
+ ):
897
+ sb_config._vd_list.append(_xvfb_display)
891
898
 
892
899
 
893
900
  def install_pyautogui_if_missing(driver):
@@ -1217,6 +1224,13 @@ def _uc_gui_click_captcha(
1217
1224
  and driver.is_element_present("#challenge-form div > div")
1218
1225
  ):
1219
1226
  frame = "#challenge-form div > div"
1227
+ elif (
1228
+ driver.is_element_present('[name*="cf-turnstile-"]')
1229
+ and driver.is_element_present(
1230
+ '[style="display: grid;"] div div'
1231
+ )
1232
+ ):
1233
+ frame = '[style="display: grid;"] div div'
1220
1234
  elif (
1221
1235
  driver.is_element_present('[name*="cf-turnstile-"]')
1222
1236
  and driver.is_element_present("[class*=spacer] + div div")
@@ -3838,6 +3852,12 @@ def get_local_driver(
3838
3852
  edge_options.add_argument("--guest")
3839
3853
  if dark_mode:
3840
3854
  edge_options.add_argument("--enable-features=WebContentsForceDark")
3855
+ if headless1:
3856
+ # developer.chrome.com/blog/removing-headless-old-from-chrome
3857
+ with suppress(Exception):
3858
+ if int(str(use_version).split(".")[0]) >= 132:
3859
+ headless1 = False
3860
+ headless2 = True
3841
3861
  if headless2:
3842
3862
  try:
3843
3863
  if use_version == "latest" or int(use_version) >= 109:
@@ -4379,6 +4399,12 @@ def get_local_driver(
4379
4399
  use_version = find_chromedriver_version_to_use(
4380
4400
  use_version, driver_version
4381
4401
  )
4402
+ if headless1:
4403
+ # developer.chrome.com/blog/removing-headless-old-from-chrome
4404
+ with suppress(Exception):
4405
+ if int(str(use_version).split(".")[0]) >= 132:
4406
+ headless1 = False
4407
+ headless2 = True
4382
4408
  if headless2:
4383
4409
  try:
4384
4410
  if (
@@ -95,6 +95,7 @@ logging.getLogger("requests").setLevel(logging.ERROR)
95
95
  logging.getLogger("urllib3").setLevel(logging.ERROR)
96
96
  urllib3.disable_warnings()
97
97
  LOGGER.setLevel(logging.WARNING)
98
+ is_linux = shared_utils.is_linux()
98
99
  is_windows = shared_utils.is_windows()
99
100
  python3_11_or_newer = False
100
101
  if sys.version_info >= (3, 11):
@@ -4828,7 +4829,7 @@ class BaseCase(unittest.TestCase):
4828
4829
  from seleniumbase.js_code.recorder_js import recorder_js
4829
4830
 
4830
4831
  if not self.is_chromium():
4831
- if "linux" not in sys.platform:
4832
+ if not is_linux:
4832
4833
  c1 = colorama.Fore.BLUE + colorama.Back.LIGHTCYAN_EX
4833
4834
  c2 = colorama.Fore.BLUE + colorama.Back.LIGHTGREEN_EX
4834
4835
  cr = colorama.Style.RESET_ALL
@@ -5658,7 +5659,7 @@ class BaseCase(unittest.TestCase):
5658
5659
  c1 = ""
5659
5660
  c2 = ""
5660
5661
  cr = ""
5661
- if "linux" not in sys.platform:
5662
+ if not is_linux:
5662
5663
  c1 = colorama.Fore.RED + colorama.Back.LIGHTYELLOW_EX
5663
5664
  c2 = colorama.Fore.LIGHTRED_EX + colorama.Back.LIGHTYELLOW_EX
5664
5665
  cr = colorama.Style.RESET_ALL
@@ -5760,7 +5761,7 @@ class BaseCase(unittest.TestCase):
5760
5761
  c1 = ""
5761
5762
  c2 = ""
5762
5763
  cr = ""
5763
- if "linux" not in sys.platform:
5764
+ if not is_linux:
5764
5765
  c1 = colorama.Fore.RED + colorama.Back.LIGHTYELLOW_EX
5765
5766
  c2 = colorama.Fore.LIGHTRED_EX + colorama.Back.LIGHTYELLOW_EX
5766
5767
  cr = colorama.Style.RESET_ALL
@@ -14009,6 +14010,9 @@ class BaseCase(unittest.TestCase):
14009
14010
  if not self.undetectable:
14010
14011
  sb_config._virtual_display = self._xvfb_display
14011
14012
  sb_config.headless_active = True
14013
+ if self._reuse_session and hasattr(sb_config, "_vd_list"):
14014
+ if isinstance(sb_config._vd_list, list):
14015
+ sb_config._vd_list.append(self._xvfb_display)
14012
14016
 
14013
14017
  def __activate_virtual_display(self):
14014
14018
  if self.undetectable and not (self.headless or self.headless2):
@@ -14033,6 +14037,9 @@ class BaseCase(unittest.TestCase):
14033
14037
  self.__activate_standard_virtual_display()
14034
14038
  else:
14035
14039
  self.headless_active = True
14040
+ if self._reuse_session and hasattr(sb_config, "_vd_list"):
14041
+ if isinstance(sb_config._vd_list, list):
14042
+ sb_config._vd_list.append(self._xvfb_display)
14036
14043
  except Exception as e:
14037
14044
  if hasattr(e, "msg"):
14038
14045
  print("\n" + str(e.msg))
@@ -14087,7 +14094,7 @@ class BaseCase(unittest.TestCase):
14087
14094
  """This is only needed on Linux.
14088
14095
  The "--xvfb" arg is still useful, as it prevents headless mode,
14089
14096
  which is the default mode on Linux unless using another arg."""
14090
- if "linux" in sys.platform and (not self.headed or self.xvfb):
14097
+ if is_linux and (not self.headed or self.xvfb):
14091
14098
  pip_find_lock = fasteners.InterProcessLock(
14092
14099
  constants.PipInstall.FINDLOCK
14093
14100
  )
@@ -16604,7 +16611,11 @@ class BaseCase(unittest.TestCase):
16604
16611
  # (Pynose / Behave / Pure Python) Close all open browser windows
16605
16612
  self.__quit_all_drivers()
16606
16613
  # Resume tearDown() for all test runners, (Pytest / Pynose / Behave)
16607
- if hasattr(self, "_xvfb_display") and self._xvfb_display:
16614
+ if (
16615
+ hasattr(self, "_xvfb_display")
16616
+ and self._xvfb_display
16617
+ and not self._reuse_session
16618
+ ):
16608
16619
  # Stop the Xvfb virtual display launched from BaseCase
16609
16620
  try:
16610
16621
  if hasattr(self._xvfb_display, "stop"):
@@ -16619,6 +16630,13 @@ class BaseCase(unittest.TestCase):
16619
16630
  hasattr(sb_config, "_virtual_display")
16620
16631
  and sb_config._virtual_display
16621
16632
  and hasattr(sb_config._virtual_display, "stop")
16633
+ and (
16634
+ not hasattr(sb_config, "reuse_session")
16635
+ or (
16636
+ hasattr(sb_config, "reuse_session")
16637
+ and not sb_config.reuse_session
16638
+ )
16639
+ )
16622
16640
  ):
16623
16641
  # CDP Mode may launch a 2nd Xvfb virtual display
16624
16642
  try:
@@ -1371,6 +1371,7 @@ def pytest_addoption(parser):
1371
1371
 
1372
1372
  arg_join = " ".join(sys_argv)
1373
1373
  sb_config._browser_shortcut = None
1374
+ sb_config._vd_list = []
1374
1375
 
1375
1376
  # SeleniumBase does not support pytest-timeout due to hanging browsers.
1376
1377
  for arg in sys_argv:
@@ -2017,6 +2018,13 @@ def pytest_runtest_teardown(item):
2017
2018
  hasattr(self, "_xvfb_display")
2018
2019
  and self._xvfb_display
2019
2020
  and hasattr(self._xvfb_display, "stop")
2021
+ and (
2022
+ not hasattr(sb_config, "reuse_session")
2023
+ or (
2024
+ hasattr(sb_config, "reuse_session")
2025
+ and not sb_config.reuse_session
2026
+ )
2027
+ )
2020
2028
  ):
2021
2029
  self.headless_active = False
2022
2030
  sb_config.headless_active = False
@@ -2026,6 +2034,13 @@ def pytest_runtest_teardown(item):
2026
2034
  hasattr(sb_config, "_virtual_display")
2027
2035
  and sb_config._virtual_display
2028
2036
  and hasattr(sb_config._virtual_display, "stop")
2037
+ and (
2038
+ not hasattr(sb_config, "reuse_session")
2039
+ or (
2040
+ hasattr(sb_config, "reuse_session")
2041
+ and not sb_config.reuse_session
2042
+ )
2043
+ )
2029
2044
  ):
2030
2045
  sb_config._virtual_display.stop()
2031
2046
  sb_config._virtual_display = None
@@ -2139,6 +2154,21 @@ def _perform_pytest_unconfigure_(config):
2139
2154
  except Exception:
2140
2155
  pass
2141
2156
  sb_config.shared_driver = None
2157
+ with suppress(Exception):
2158
+ if (
2159
+ hasattr(sb_config, "_virtual_display")
2160
+ and sb_config._virtual_display
2161
+ and hasattr(sb_config._virtual_display, "stop")
2162
+ ):
2163
+ sb_config._virtual_display.stop()
2164
+ sb_config._virtual_display = None
2165
+ sb_config.headless_active = False
2166
+ if hasattr(sb_config, "_vd_list") and sb_config._vd_list:
2167
+ if isinstance(sb_config._vd_list, list):
2168
+ for display in sb_config._vd_list:
2169
+ if display:
2170
+ with suppress(Exception):
2171
+ display.stop()
2142
2172
  if hasattr(sb_config, "log_path") and sb_config.item_count > 0:
2143
2173
  log_helper.archive_logs_if_set(
2144
2174
  constants.Logs.LATEST + "/", sb_config.archive_logs
@@ -2193,6 +2223,9 @@ def _perform_pytest_unconfigure_(config):
2193
2223
  the_html_r = the_html_r.replace(
2194
2224
  ph_link, "%s and %s" % (sb_link, ph_link)
2195
2225
  )
2226
+ the_html_r = the_html_r.replace(
2227
+ "findAll('.collapsible", "//findAll('.collapsible"
2228
+ )
2196
2229
  the_html_r = the_html_r.replace(
2197
2230
  "mediaName.innerText", "//mediaName.innerText"
2198
2231
  )
@@ -2228,6 +2261,9 @@ def _perform_pytest_unconfigure_(config):
2228
2261
  html_style = html_style.replace(
2229
2262
  "- 80px);", "- 80px);\n margin-bottom: -42px;"
2230
2263
  )
2264
+ html_style = html_style.replace(".collapsible", ".oldc")
2265
+ html_style = html_style.replace(" (hide details)", "")
2266
+ html_style = html_style.replace(" (show details)", "")
2231
2267
  with open(assets_style, "w", encoding="utf-8") as f:
2232
2268
  f.write(html_style)
2233
2269
  with suppress(Exception):
@@ -2327,6 +2363,9 @@ def _perform_pytest_unconfigure_(config):
2327
2363
  html_style = html_style.replace(
2328
2364
  "- 80px);", "- 80px);\n margin-bottom: -42px;"
2329
2365
  )
2366
+ html_style = html_style.replace(".collapsible", ".oldc")
2367
+ html_style = html_style.replace(" (hide details)", "")
2368
+ html_style = html_style.replace(" (show details)", "")
2330
2369
  with open(assets_style, "w", encoding="utf-8") as f:
2331
2370
  f.write(html_style)
2332
2371
  with suppress(Exception):
@@ -2394,6 +2433,9 @@ def _perform_pytest_unconfigure_(config):
2394
2433
  the_html_r = the_html_r.replace(
2395
2434
  ph_link, "%s and %s" % (sb_link, ph_link)
2396
2435
  )
2436
+ the_html_r = the_html_r.replace(
2437
+ "findAll('.collapsible", "//findAll('.collapsible"
2438
+ )
2397
2439
  the_html_r = the_html_r.replace(
2398
2440
  "mediaName.innerText", "//mediaName.innerText"
2399
2441
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: seleniumbase
3
- Version: 4.33.15
3
+ Version: 4.33.16a0
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
@@ -68,8 +68,9 @@ Requires-Dist: attrs>=24.3.0
68
68
  Requires-Dist: certifi>=2024.12.14
69
69
  Requires-Dist: exceptiongroup>=1.2.2
70
70
  Requires-Dist: websockets~=13.1; python_version < "3.9"
71
- Requires-Dist: websockets>=14.1; python_version >= "3.9"
72
- Requires-Dist: filelock>=3.16.1
71
+ Requires-Dist: websockets>=14.2; python_version >= "3.9"
72
+ Requires-Dist: filelock~=3.16.1; python_version < "3.9"
73
+ Requires-Dist: filelock>=3.17.0; python_version >= "3.9"
73
74
  Requires-Dist: fasteners>=0.19
74
75
  Requires-Dist: mycdp>=1.1.0
75
76
  Requires-Dist: pynose>=1.5.3
@@ -102,7 +103,8 @@ Requires-Dist: trio==0.28.0; python_version >= "3.9"
102
103
  Requires-Dist: trio-websocket==0.11.1
103
104
  Requires-Dist: wsproto==1.2.0
104
105
  Requires-Dist: websocket-client==1.8.0
105
- Requires-Dist: selenium==4.27.1
106
+ Requires-Dist: selenium==4.27.1; python_version < "3.9"
107
+ Requires-Dist: selenium==4.28.0; python_version >= "3.9"
106
108
  Requires-Dist: cssselect==1.2.0
107
109
  Requires-Dist: sortedcontainers==2.4.0
108
110
  Requires-Dist: execnet==2.1.1
@@ -4,7 +4,6 @@ wheel>=0.45.1
4
4
  attrs>=24.3.0
5
5
  certifi>=2024.12.14
6
6
  exceptiongroup>=1.2.2
7
- filelock>=3.16.1
8
7
  fasteners>=0.19
9
8
  mycdp>=1.1.0
10
9
  pynose>=1.5.3
@@ -30,7 +29,6 @@ outcome==1.3.0.post0
30
29
  trio-websocket==0.11.1
31
30
  wsproto==1.2.0
32
31
  websocket-client==1.8.0
33
- selenium==4.27.1
34
32
  cssselect==1.2.0
35
33
  sortedcontainers==2.4.0
36
34
  execnet==2.1.1
@@ -62,8 +60,10 @@ urllib3<2,>=1.26.20
62
60
 
63
61
  [:python_version < "3.9"]
64
62
  websockets~=13.1
63
+ filelock~=3.16.1
65
64
  MarkupSafe==2.1.5
66
65
  trio==0.27.0
66
+ selenium==4.27.1
67
67
  pytest-rerunfailures==14.0
68
68
 
69
69
  [:python_version >= "3.10"]
@@ -71,9 +71,11 @@ setuptools>=75.8.0
71
71
  urllib3<2.4.0,>=1.26.20
72
72
 
73
73
  [:python_version >= "3.9"]
74
- websockets>=14.1
74
+ websockets>=14.2
75
+ filelock>=3.17.0
75
76
  MarkupSafe>=3.0.2
76
77
  trio==0.28.0
78
+ selenium==4.28.0
77
79
  pytest-rerunfailures==15.0
78
80
 
79
81
  [allure]
@@ -156,8 +156,9 @@ setup(
156
156
  "certifi>=2024.12.14",
157
157
  "exceptiongroup>=1.2.2",
158
158
  'websockets~=13.1;python_version<"3.9"',
159
- 'websockets>=14.1;python_version>="3.9"',
160
- 'filelock>=3.16.1',
159
+ 'websockets>=14.2;python_version>="3.9"',
160
+ 'filelock~=3.16.1;python_version<"3.9"',
161
+ 'filelock>=3.17.0;python_version>="3.9"',
161
162
  'fasteners>=0.19',
162
163
  "mycdp>=1.1.0",
163
164
  "pynose>=1.5.3",
@@ -190,7 +191,8 @@ setup(
190
191
  'trio-websocket==0.11.1',
191
192
  'wsproto==1.2.0',
192
193
  'websocket-client==1.8.0',
193
- 'selenium==4.27.1',
194
+ 'selenium==4.27.1;python_version<"3.9"',
195
+ 'selenium==4.28.0;python_version>="3.9"',
194
196
  'cssselect==1.2.0',
195
197
  "sortedcontainers==2.4.0",
196
198
  'execnet==2.1.1',
@@ -1,2 +0,0 @@
1
- # seleniumbase package
2
- __version__ = "4.33.15"
File without changes