seleniumbase 4.42.2__tar.gz → 4.42.3__tar.gz

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 (157) hide show
  1. {seleniumbase-4.42.2/seleniumbase.egg-info → seleniumbase-4.42.3}/PKG-INFO +7 -6
  2. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/requirements.txt +3 -1
  3. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/__version__.py +1 -1
  4. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/sb_cdp.py +4 -1
  5. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/cdp_driver/cdp_util.py +210 -4
  6. {seleniumbase-4.42.2 → seleniumbase-4.42.3/seleniumbase.egg-info}/PKG-INFO +7 -6
  7. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase.egg-info/requires.txt +8 -4
  8. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/setup.py +7 -5
  9. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/.gitignore +0 -0
  10. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/LICENSE +0 -0
  11. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/MANIFEST.in +0 -0
  12. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/README.md +0 -0
  13. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/install.sh +0 -0
  14. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/pyproject.toml +0 -0
  15. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/pytest.ini +0 -0
  16. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/sbase/__init__.py +0 -0
  17. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/sbase/__main__.py +0 -0
  18. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/sbase/steps.py +0 -0
  19. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/__init__.py +0 -0
  20. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/__main__.py +0 -0
  21. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/behave/__init__.py +0 -0
  22. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/behave/behave_helper.py +0 -0
  23. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/behave/behave_sb.py +0 -0
  24. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/behave/steps.py +0 -0
  25. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/common/__init__.py +0 -0
  26. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/common/decorators.py +0 -0
  27. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/common/encryption.py +0 -0
  28. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/common/exceptions.py +0 -0
  29. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/common/obfuscate.py +0 -0
  30. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/common/unobfuscate.py +0 -0
  31. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/config/__init__.py +0 -0
  32. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/config/ad_block_list.py +0 -0
  33. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/config/proxy_list.py +0 -0
  34. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/config/settings.py +0 -0
  35. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/__init__.py +0 -0
  36. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/logo_helper.py +0 -0
  37. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/rich_helper.py +0 -0
  38. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/run.py +0 -0
  39. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
  40. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
  41. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/sb_commander.py +0 -0
  42. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/sb_install.py +0 -0
  43. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
  44. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
  45. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
  46. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
  47. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
  48. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/sb_objectify.py +0 -0
  49. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/sb_print.py +0 -0
  50. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/console_scripts/sb_recorder.py +0 -0
  51. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/__init__.py +0 -0
  52. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/application_manager.py +0 -0
  53. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/browser_launcher.py +0 -0
  54. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/capabilities_parser.py +0 -0
  55. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/colored_traceback.py +0 -0
  56. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/create_db_tables.sql +0 -0
  57. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/detect_b_ver.py +0 -0
  58. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/download_helper.py +0 -0
  59. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/encoded_images.py +0 -0
  60. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/jqc_helper.py +0 -0
  61. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/log_helper.py +0 -0
  62. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/mysql.py +0 -0
  63. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/proxy_helper.py +0 -0
  64. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/recorder_helper.py +0 -0
  65. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/report_helper.py +0 -0
  66. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/s3_manager.py +0 -0
  67. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/sb_driver.py +0 -0
  68. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/session_helper.py +0 -0
  69. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/settings_parser.py +0 -0
  70. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/style_sheet.py +0 -0
  71. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/testcase_manager.py +0 -0
  72. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/tour_helper.py +0 -0
  73. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/core/visual_helper.py +0 -0
  74. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/drivers/__init__.py +0 -0
  75. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
  76. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/drivers/chs_drivers/__init__.py +0 -0
  77. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/extensions/__init__.py +0 -0
  78. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/extensions/ad_block.zip +0 -0
  79. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/extensions/disable_csp.zip +0 -0
  80. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/extensions/recorder.zip +0 -0
  81. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/extensions/sbase_ext.zip +0 -0
  82. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/fixtures/__init__.py +0 -0
  83. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/fixtures/base_case.py +0 -0
  84. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/fixtures/constants.py +0 -0
  85. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/fixtures/css_to_xpath.py +0 -0
  86. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/fixtures/errors.py +0 -0
  87. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/fixtures/js_utils.py +0 -0
  88. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/fixtures/page_actions.py +0 -0
  89. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/fixtures/page_utils.py +0 -0
  90. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/fixtures/shared_utils.py +0 -0
  91. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/fixtures/unittest_helper.py +0 -0
  92. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/fixtures/words.py +0 -0
  93. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/fixtures/xpath_to_css.py +0 -0
  94. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/js_code/__init__.py +0 -0
  95. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/js_code/active_css_js.py +0 -0
  96. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/js_code/live_js.py +0 -0
  97. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/js_code/recorder_js.py +0 -0
  98. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/masterqa/__init__.py +0 -0
  99. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/masterqa/master_qa.py +0 -0
  100. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/plugins/__init__.py +0 -0
  101. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/plugins/base_plugin.py +0 -0
  102. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/plugins/basic_test_info.py +0 -0
  103. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
  104. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/plugins/driver_manager.py +0 -0
  105. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/plugins/page_source.py +0 -0
  106. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/plugins/pytest_plugin.py +0 -0
  107. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
  108. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/plugins/sb_manager.py +0 -0
  109. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/plugins/screen_shots.py +0 -0
  110. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/plugins/selenium_plugin.py +0 -0
  111. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/resources/__init__.py +0 -0
  112. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/translate/__init__.py +0 -0
  113. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/translate/chinese.py +0 -0
  114. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/translate/dutch.py +0 -0
  115. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/translate/french.py +0 -0
  116. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/translate/italian.py +0 -0
  117. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/translate/japanese.py +0 -0
  118. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/translate/korean.py +0 -0
  119. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/translate/master_dict.py +0 -0
  120. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/translate/portuguese.py +0 -0
  121. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/translate/russian.py +0 -0
  122. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/translate/spanish.py +0 -0
  123. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/translate/translator.py +0 -0
  124. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/__init__.py +0 -0
  125. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/cdp.py +0 -0
  126. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
  127. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
  128. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
  129. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/cdp_driver/config.py +0 -0
  130. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
  131. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/cdp_driver/element.py +0 -0
  132. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
  133. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/dprocess.py +0 -0
  134. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/options.py +0 -0
  135. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/patcher.py +0 -0
  136. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/reactor.py +0 -0
  137. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/undetected/webelement.py +0 -0
  138. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/__init__.py +0 -0
  139. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
  140. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
  141. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/selenium_grid/font_color +0 -0
  142. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
  143. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
  144. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
  145. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
  146. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
  147. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
  148. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
  149. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
  150. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
  151. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
  152. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase.egg-info/SOURCES.txt +0 -0
  153. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase.egg-info/dependency_links.txt +0 -0
  154. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase.egg-info/entry_points.txt +0 -0
  155. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/seleniumbase.egg-info/top_level.txt +0 -0
  156. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/setup.cfg +0 -0
  157. {seleniumbase-4.42.2 → seleniumbase-4.42.3}/virtualenv_install.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seleniumbase
3
- Version: 4.42.2
3
+ Version: 4.42.3
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
@@ -28,7 +28,6 @@ Classifier: Environment :: Web Environment
28
28
  Classifier: Framework :: Pytest
29
29
  Classifier: Intended Audience :: Developers
30
30
  Classifier: Intended Audience :: Information Technology
31
- Classifier: License :: OSI Approved :: MIT License
32
31
  Classifier: Operating System :: MacOS :: MacOS X
33
32
  Classifier: Operating System :: Microsoft :: Windows
34
33
  Classifier: Operating System :: POSIX :: Linux
@@ -108,7 +107,8 @@ Requires-Dist: trio==0.27.0; python_version < "3.9"
108
107
  Requires-Dist: trio<1,>=0.31.0; python_version >= "3.9"
109
108
  Requires-Dist: trio-websocket~=0.12.2
110
109
  Requires-Dist: wsproto==1.2.0
111
- Requires-Dist: websocket-client~=1.8.0
110
+ Requires-Dist: websocket-client~=1.8.0; python_version < "3.9"
111
+ Requires-Dist: websocket-client~=1.9.0; python_version >= "3.9"
112
112
  Requires-Dist: selenium==4.27.1; python_version < "3.9"
113
113
  Requires-Dist: selenium==4.32.0; python_version >= "3.9" and python_version < "3.10"
114
114
  Requires-Dist: selenium==4.36.0; python_version >= "3.10"
@@ -135,6 +135,7 @@ Requires-Dist: soupsieve~=2.8; python_version >= "3.9"
135
135
  Requires-Dist: beautifulsoup4~=4.14.2
136
136
  Requires-Dist: pyotp==2.9.0
137
137
  Requires-Dist: python-xlib==0.33; platform_system == "Linux"
138
+ Requires-Dist: PyAutoGUI>=0.9.54; platform_system == "Linux"
138
139
  Requires-Dist: markdown-it-py==3.0.0; python_version < "3.10"
139
140
  Requires-Dist: markdown-it-py==4.0.0; python_version >= "3.10"
140
141
  Requires-Dist: mdurl==0.1.2
@@ -181,12 +182,12 @@ Requires-Dist: proxy.py==2.4.3; extra == "proxy"
181
182
  Provides-Extra: psutil
182
183
  Requires-Dist: psutil==7.1.0; extra == "psutil"
183
184
  Provides-Extra: pyautogui
184
- Requires-Dist: PyAutoGUI==0.9.54; extra == "pyautogui"
185
+ Requires-Dist: PyAutoGUI>=0.9.54; platform_system != "Linux" and extra == "pyautogui"
185
186
  Provides-Extra: selenium-stealth
186
187
  Requires-Dist: selenium-stealth==1.0.6; extra == "selenium-stealth"
187
188
  Provides-Extra: selenium-wire
188
189
  Requires-Dist: selenium-wire==5.1.0; extra == "selenium-wire"
189
- Requires-Dist: pyOpenSSL==24.2.1; extra == "selenium-wire"
190
+ Requires-Dist: pyOpenSSL>=24.2.1; extra == "selenium-wire"
190
191
  Requires-Dist: pyparsing>=3.1.4; extra == "selenium-wire"
191
192
  Requires-Dist: Brotli==1.1.0; extra == "selenium-wire"
192
193
  Requires-Dist: blinker==1.7.0; extra == "selenium-wire"
@@ -195,7 +196,7 @@ Requires-Dist: hpack==4.0.0; extra == "selenium-wire"
195
196
  Requires-Dist: hyperframe==6.0.1; extra == "selenium-wire"
196
197
  Requires-Dist: kaitaistruct==0.10; extra == "selenium-wire"
197
198
  Requires-Dist: pyasn1==0.6.1; extra == "selenium-wire"
198
- Requires-Dist: zstandard==0.23.0; extra == "selenium-wire"
199
+ Requires-Dist: zstandard>=0.23.0; extra == "selenium-wire"
199
200
  Dynamic: author
200
201
  Dynamic: author-email
201
202
  Dynamic: classifier
@@ -46,7 +46,8 @@ trio==0.27.0;python_version<"3.9"
46
46
  trio>=0.31.0,<1;python_version>="3.9"
47
47
  trio-websocket~=0.12.2
48
48
  wsproto==1.2.0
49
- websocket-client~=1.8.0
49
+ websocket-client~=1.8.0;python_version<"3.9"
50
+ websocket-client~=1.9.0;python_version>="3.9"
50
51
  selenium==4.27.1;python_version<"3.9"
51
52
  selenium==4.32.0;python_version>="3.9" and python_version<"3.10"
52
53
  selenium==4.36.0;python_version>="3.10"
@@ -73,6 +74,7 @@ soupsieve~=2.8;python_version>="3.9"
73
74
  beautifulsoup4~=4.14.2
74
75
  pyotp==2.9.0
75
76
  python-xlib==0.33;platform_system=="Linux"
77
+ PyAutoGUI>=0.9.54;platform_system=="Linux"
76
78
  markdown-it-py==3.0.0;python_version<"3.10"
77
79
  markdown-it-py==4.0.0;python_version>="3.10"
78
80
  mdurl==0.1.2
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.42.2"
2
+ __version__ = "4.42.3"
@@ -712,7 +712,10 @@ class CDPMethods():
712
712
  self.__slow_mode_pause_if_set()
713
713
  element = self.find_element(selector, timeout=timeout)
714
714
  element.scroll_into_view()
715
- element.click()
715
+ if element.tag_name == "div" or element.tag_name == "input":
716
+ element.mouse_click() # Simulated click (not PyAutoGUI)
717
+ else:
718
+ element.click()
716
719
  self.__slow_mode_pause_if_set()
717
720
  self.loop.run_until_complete(self.page.wait())
718
721
 
@@ -258,13 +258,13 @@ async def start(
258
258
  config: Optional[Config] = None,
259
259
  *,
260
260
  user_data_dir: Optional[PathLike] = None,
261
- headless: Optional[bool] = False,
262
- incognito: Optional[bool] = False,
263
- guest: Optional[bool] = False,
261
+ headless: Optional[bool] = None,
262
+ incognito: Optional[bool] = None,
263
+ guest: Optional[bool] = None,
264
264
  browser_executable_path: Optional[PathLike] = None,
265
265
  browser_args: Optional[List[str]] = None,
266
266
  xvfb_metrics: Optional[List[str]] = None, # "Width,Height" for Linux
267
- ad_block: Optional[bool] = False,
267
+ ad_block: Optional[bool] = None,
268
268
  sandbox: Optional[bool] = True,
269
269
  lang: Optional[str] = None, # Set the Language Locale Code
270
270
  host: Optional[str] = None, # Chrome remote-debugging-host
@@ -318,6 +318,210 @@ async def start(
318
318
  (For example, ensuring shadow-root is always in "open" mode.)
319
319
  :type expert: bool
320
320
  """
321
+ sys_argv = sys.argv
322
+ arg_join = " ".join(sys_argv)
323
+ if headless is None:
324
+ if "--headless" in sys_argv:
325
+ headless = True
326
+ else:
327
+ headless = False
328
+ if headed is None:
329
+ if "--gui" in sys_argv or "--headed" in sys_argv:
330
+ headed = True
331
+ else:
332
+ headed = False
333
+ if xvfb is None:
334
+ if "--xvfb" in sys_argv:
335
+ xvfb = True
336
+ else:
337
+ xvfb = False
338
+ if incognito is None:
339
+ if "--incognito" in sys_argv:
340
+ incognito = True
341
+ else:
342
+ incognito = False
343
+ if guest is None:
344
+ if "--guest" in sys_argv:
345
+ guest = True
346
+ else:
347
+ guest = False
348
+ if ad_block is None:
349
+ if "--ad-block" in sys_argv or "--ad_block" in sys_argv:
350
+ ad_block = True
351
+ else:
352
+ ad_block = False
353
+ if xvfb_metrics is None and "--xvfb-metrics" in arg_join:
354
+ x_m = xvfb_metrics
355
+ count = 0
356
+ for arg in sys_argv:
357
+ if arg.startswith("--xvfb-metrics="):
358
+ x_m = arg.split("--xvfb-metrics=")[1]
359
+ break
360
+ elif arg == "--xvfb-metrics" and len(sys_argv) > count + 1:
361
+ x_m = sys_argv[count + 1]
362
+ if x_m.startswith("-"):
363
+ x_m = None
364
+ break
365
+ count += 1
366
+ if x_m:
367
+ if x_m.startswith('"') and x_m.endswith('"'):
368
+ x_m = x_m[1:-1]
369
+ elif x_m.startswith("'") and x_m.endswith("'"):
370
+ x_m = x_m[1:-1]
371
+ xvfb_metrics = x_m
372
+ if agent is None and "user_agent" not in kwargs and "--agent" in arg_join:
373
+ count = 0
374
+ for arg in sys_argv:
375
+ if arg.startswith("--agent="):
376
+ agent = arg.split("--agent=")[1]
377
+ break
378
+ elif arg == "--agent" and len(sys_argv) > count + 1:
379
+ agent = sys_argv[count + 1]
380
+ if agent.startswith("-"):
381
+ agent = None
382
+ break
383
+ count += 1
384
+ if agent:
385
+ if agent.startswith('"') and agent.endswith('"'):
386
+ agent = agent[1:-1]
387
+ elif agent.startswith("'") and agent.endswith("'"):
388
+ agent = agent[1:-1]
389
+ if (
390
+ geoloc is None
391
+ and "geolocation" not in kwargs
392
+ and "--geolocation" in arg_join
393
+ ):
394
+ count = 0
395
+ for arg in sys_argv:
396
+ if arg.startswith("--geolocation="):
397
+ geoloc = arg.split("--geolocation=")[1]
398
+ break
399
+ elif arg == "--geolocation" and len(sys_argv) > count + 1:
400
+ geoloc = sys_argv[count + 1]
401
+ if geoloc.startswith("-"):
402
+ geoloc = None
403
+ break
404
+ count += 1
405
+ if geoloc:
406
+ if geoloc.startswith('"') and geoloc.endswith('"'):
407
+ geoloc = geoloc[1:-1]
408
+ elif geoloc.startswith("'") and geoloc.endswith("'"):
409
+ geoloc = geoloc[1:-1]
410
+ if geoloc:
411
+ import ast
412
+ geoloc = ast.literal_eval(geoloc)
413
+ if not lang and "locale" not in kwargs and "locale_code" not in kwargs:
414
+ if "--locale" in arg_join:
415
+ count = 0
416
+ for arg in sys_argv:
417
+ if arg.startswith("--locale="):
418
+ lang = arg.split("--locale=")[1]
419
+ break
420
+ elif arg == "--locale" and len(sys_argv) > count + 1:
421
+ lang = sys_argv[count + 1]
422
+ if lang.startswith("-"):
423
+ lang = None
424
+ break
425
+ count += 1
426
+ elif "--lang" in arg_join:
427
+ count = 0
428
+ for arg in sys_argv:
429
+ if arg.startswith("--lang="):
430
+ lang = arg.split("--lang=")[1]
431
+ break
432
+ elif arg == "--lang" and len(sys_argv) > count + 1:
433
+ lang = sys_argv[count + 1]
434
+ if lang.startswith("-"):
435
+ lang = None
436
+ break
437
+ count += 1
438
+ if lang:
439
+ if lang.startswith('"') and lang.endswith('"'):
440
+ lang = lang[1:-1]
441
+ elif lang.startswith("'") and lang.endswith("'"):
442
+ lang = lang[1:-1]
443
+ if not browser_executable_path and "binary_location" not in kwargs:
444
+ bin_loc = None
445
+ if "--binary-location" in arg_join or "--binary_location" in arg_join:
446
+ bin_loc_cmd = "--binary-location"
447
+ if "--binary_location" in arg_join:
448
+ bin_loc_cmd = "--binary_location"
449
+ count = 0
450
+ bin_loc = None
451
+ for arg in sys_argv:
452
+ if arg.startswith("%s=" % bin_loc_cmd):
453
+ bin_loc = arg.split("%s=" % bin_loc_cmd)[1]
454
+ break
455
+ elif arg == bin_loc_cmd and len(sys_argv) > count + 1:
456
+ bin_loc = sys_argv[count + 1]
457
+ if bin_loc.startswith("-"):
458
+ bin_loc = None
459
+ break
460
+ count += 1
461
+ elif "--bl=" in arg_join:
462
+ count = 0
463
+ bin_loc = None
464
+ for arg in sys_argv:
465
+ if arg.startswith("--bl="):
466
+ bin_loc = arg.split("--bl=")[1]
467
+ break
468
+ count += 1
469
+ if bin_loc:
470
+ if bin_loc.startswith('"') and bin_loc.endswith('"'):
471
+ bin_loc = bin_loc[1:-1]
472
+ elif bin_loc.startswith("'") and bin_loc.endswith("'"):
473
+ bin_loc = bin_loc[1:-1]
474
+ if bin_loc and not os.path.exists(bin_loc):
475
+ print(" No browser executable at PATH {%s}! " % bin_loc)
476
+ print(" Using default Chrome browser instead!")
477
+ bin_loc = None
478
+ browser_executable_path = bin_loc
479
+ if proxy is None and "--proxy" in arg_join:
480
+ proxy_string = None
481
+ if "--proxy=" in arg_join:
482
+ proxy_string = arg_join.split("--proxy=")[1].split(" ")[0]
483
+ elif "--proxy " in arg_join:
484
+ proxy_string = arg_join.split("--proxy ")[1].split(" ")[0]
485
+ if proxy_string:
486
+ if proxy_string.startswith('"') and proxy_string.endswith('"'):
487
+ proxy_string = proxy_string[1:-1]
488
+ elif proxy_string.startswith("'") and proxy_string.endswith("'"):
489
+ proxy_string = proxy_string[1:-1]
490
+ proxy = proxy_string
491
+ if tzone is None and "timezone" not in kwargs and "--timezone" in arg_join:
492
+ tz_string = None
493
+ if "--timezone=" in arg_join:
494
+ tz_string = arg_join.split("--timezone=")[1].split(" ")[0]
495
+ elif "--timezone " in arg_join:
496
+ tz_string = arg_join.split("--timezone ")[1].split(" ")[0]
497
+ if tz_string:
498
+ if tz_string.startswith('"') and tz_string.endswith('"'):
499
+ tz_string = proxy_string[1:-1]
500
+ elif tz_string.startswith("'") and tz_string.endswith("'"):
501
+ tz_string = proxy_string[1:-1]
502
+ tzone = tz_string
503
+ platform_var = None
504
+ if (
505
+ "platform" not in kwargs
506
+ and "plat" not in kwargs
507
+ and "--platform" in arg_join
508
+ ):
509
+ count = 0
510
+ for arg in sys_argv:
511
+ if arg.startswith("--platform="):
512
+ platform_var = arg.split("--platform=")[1]
513
+ break
514
+ elif arg == "--platform" and len(sys_argv) > count + 1:
515
+ platform_var = sys_argv[count + 1]
516
+ if platform_var.startswith("-"):
517
+ platform_var = None
518
+ break
519
+ count += 1
520
+ if platform_var:
521
+ if platform_var.startswith('"') and platform_var.endswith('"'):
522
+ platform_var = platform_var[1:-1]
523
+ elif platform_var.startswith("'") and platform_var.endswith("'"):
524
+ platform_var = platform_var[1:-1]
321
525
  if IS_LINUX and not headless and not headed and not xvfb:
322
526
  xvfb = True # The default setting on Linux
323
527
  __activate_virtual_display_as_needed(headless, headed, xvfb, xvfb_metrics)
@@ -404,6 +608,8 @@ async def start(
404
608
  sb_config._cdp_platform = kwargs["platform"]
405
609
  elif "plat" in kwargs:
406
610
  sb_config._cdp_platform = kwargs["plat"]
611
+ elif platform_var:
612
+ sb_config._cdp_platform = platform_var
407
613
  else:
408
614
  sb_config._cdp_platform = None
409
615
  return driver
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seleniumbase
3
- Version: 4.42.2
3
+ Version: 4.42.3
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
@@ -28,7 +28,6 @@ Classifier: Environment :: Web Environment
28
28
  Classifier: Framework :: Pytest
29
29
  Classifier: Intended Audience :: Developers
30
30
  Classifier: Intended Audience :: Information Technology
31
- Classifier: License :: OSI Approved :: MIT License
32
31
  Classifier: Operating System :: MacOS :: MacOS X
33
32
  Classifier: Operating System :: Microsoft :: Windows
34
33
  Classifier: Operating System :: POSIX :: Linux
@@ -108,7 +107,8 @@ Requires-Dist: trio==0.27.0; python_version < "3.9"
108
107
  Requires-Dist: trio<1,>=0.31.0; python_version >= "3.9"
109
108
  Requires-Dist: trio-websocket~=0.12.2
110
109
  Requires-Dist: wsproto==1.2.0
111
- Requires-Dist: websocket-client~=1.8.0
110
+ Requires-Dist: websocket-client~=1.8.0; python_version < "3.9"
111
+ Requires-Dist: websocket-client~=1.9.0; python_version >= "3.9"
112
112
  Requires-Dist: selenium==4.27.1; python_version < "3.9"
113
113
  Requires-Dist: selenium==4.32.0; python_version >= "3.9" and python_version < "3.10"
114
114
  Requires-Dist: selenium==4.36.0; python_version >= "3.10"
@@ -135,6 +135,7 @@ Requires-Dist: soupsieve~=2.8; python_version >= "3.9"
135
135
  Requires-Dist: beautifulsoup4~=4.14.2
136
136
  Requires-Dist: pyotp==2.9.0
137
137
  Requires-Dist: python-xlib==0.33; platform_system == "Linux"
138
+ Requires-Dist: PyAutoGUI>=0.9.54; platform_system == "Linux"
138
139
  Requires-Dist: markdown-it-py==3.0.0; python_version < "3.10"
139
140
  Requires-Dist: markdown-it-py==4.0.0; python_version >= "3.10"
140
141
  Requires-Dist: mdurl==0.1.2
@@ -181,12 +182,12 @@ Requires-Dist: proxy.py==2.4.3; extra == "proxy"
181
182
  Provides-Extra: psutil
182
183
  Requires-Dist: psutil==7.1.0; extra == "psutil"
183
184
  Provides-Extra: pyautogui
184
- Requires-Dist: PyAutoGUI==0.9.54; extra == "pyautogui"
185
+ Requires-Dist: PyAutoGUI>=0.9.54; platform_system != "Linux" and extra == "pyautogui"
185
186
  Provides-Extra: selenium-stealth
186
187
  Requires-Dist: selenium-stealth==1.0.6; extra == "selenium-stealth"
187
188
  Provides-Extra: selenium-wire
188
189
  Requires-Dist: selenium-wire==5.1.0; extra == "selenium-wire"
189
- Requires-Dist: pyOpenSSL==24.2.1; extra == "selenium-wire"
190
+ Requires-Dist: pyOpenSSL>=24.2.1; extra == "selenium-wire"
190
191
  Requires-Dist: pyparsing>=3.1.4; extra == "selenium-wire"
191
192
  Requires-Dist: Brotli==1.1.0; extra == "selenium-wire"
192
193
  Requires-Dist: blinker==1.7.0; extra == "selenium-wire"
@@ -195,7 +196,7 @@ Requires-Dist: hpack==4.0.0; extra == "selenium-wire"
195
196
  Requires-Dist: hyperframe==6.0.1; extra == "selenium-wire"
196
197
  Requires-Dist: kaitaistruct==0.10; extra == "selenium-wire"
197
198
  Requires-Dist: pyasn1==0.6.1; extra == "selenium-wire"
198
- Requires-Dist: zstandard==0.23.0; extra == "selenium-wire"
199
+ Requires-Dist: zstandard>=0.23.0; extra == "selenium-wire"
199
200
  Dynamic: author
200
201
  Dynamic: author-email
201
202
  Dynamic: classifier
@@ -23,7 +23,6 @@ h11==0.16.0
23
23
  outcome==1.3.0.post0
24
24
  trio-websocket~=0.12.2
25
25
  wsproto==1.2.0
26
- websocket-client~=1.8.0
27
26
  sortedcontainers==2.4.0
28
27
  execnet==2.1.1
29
28
  iniconfig==2.1.0
@@ -39,6 +38,7 @@ rich<15,>=14.1.0
39
38
 
40
39
  [:platform_system == "Linux"]
41
40
  python-xlib==0.33
41
+ PyAutoGUI>=0.9.54
42
42
 
43
43
  [:platform_system == "Windows"]
44
44
  pyreadline3>=3.5.3
@@ -58,6 +58,7 @@ typing-extensions~=4.13.2
58
58
  MarkupSafe==2.1.5
59
59
  requests==2.32.4
60
60
  trio==0.27.0
61
+ websocket-client~=1.8.0
61
62
  selenium==4.27.1
62
63
  cssselect==1.2.0
63
64
  pluggy==1.5.0
@@ -82,6 +83,7 @@ typing-extensions>=4.15.0
82
83
  MarkupSafe>=3.0.3
83
84
  requests~=2.32.5
84
85
  trio<1,>=0.31.0
86
+ websocket-client~=1.9.0
85
87
  cssselect==1.3.0
86
88
  pluggy==1.6.0
87
89
  pytest==8.4.2
@@ -166,14 +168,16 @@ proxy.py==2.4.3
166
168
  psutil==7.1.0
167
169
 
168
170
  [pyautogui]
169
- PyAutoGUI==0.9.54
171
+
172
+ [pyautogui:platform_system != "Linux"]
173
+ PyAutoGUI>=0.9.54
170
174
 
171
175
  [selenium-stealth]
172
176
  selenium-stealth==1.0.6
173
177
 
174
178
  [selenium-wire]
175
179
  selenium-wire==5.1.0
176
- pyOpenSSL==24.2.1
180
+ pyOpenSSL>=24.2.1
177
181
  pyparsing>=3.1.4
178
182
  Brotli==1.1.0
179
183
  blinker==1.7.0
@@ -182,4 +186,4 @@ hpack==4.0.0
182
186
  hyperframe==6.0.1
183
187
  kaitaistruct==0.10
184
188
  pyasn1==0.6.1
185
- zstandard==0.23.0
189
+ zstandard>=0.23.0
@@ -114,7 +114,6 @@ setup(
114
114
  "Framework :: Pytest",
115
115
  "Intended Audience :: Developers",
116
116
  "Intended Audience :: Information Technology",
117
- "License :: OSI Approved :: MIT License",
118
117
  "Operating System :: MacOS :: MacOS X",
119
118
  "Operating System :: Microsoft :: Windows",
120
119
  "Operating System :: POSIX :: Linux",
@@ -194,7 +193,8 @@ setup(
194
193
  'trio>=0.31.0,<1;python_version>="3.9"',
195
194
  'trio-websocket~=0.12.2',
196
195
  'wsproto==1.2.0',
197
- 'websocket-client~=1.8.0',
196
+ 'websocket-client~=1.8.0;python_version<"3.9"',
197
+ 'websocket-client~=1.9.0;python_version>="3.9"',
198
198
  'selenium==4.27.1;python_version<"3.9"',
199
199
  'selenium==4.32.0;python_version>="3.9" and python_version<"3.10"',
200
200
  'selenium==4.36.0;python_version>="3.10"',
@@ -221,6 +221,7 @@ setup(
221
221
  "beautifulsoup4~=4.14.2",
222
222
  'pyotp==2.9.0',
223
223
  'python-xlib==0.33;platform_system=="Linux"',
224
+ 'PyAutoGUI>=0.9.54;platform_system=="Linux"',
224
225
  'markdown-it-py==3.0.0;python_version<"3.10"',
225
226
  'markdown-it-py==4.0.0;python_version>="3.10"',
226
227
  'mdurl==0.1.2',
@@ -301,8 +302,9 @@ setup(
301
302
  "psutil==7.1.0",
302
303
  ],
303
304
  # pip install -e .[pyautogui]
305
+ # (Already a required dependency on Linux now.)
304
306
  "pyautogui": [
305
- "PyAutoGUI==0.9.54",
307
+ 'PyAutoGUI>=0.9.54;platform_system!="Linux"',
306
308
  ],
307
309
  # pip install -e .[selenium-stealth]
308
310
  "selenium-stealth": [
@@ -311,7 +313,7 @@ setup(
311
313
  # pip install -e .[selenium-wire]
312
314
  "selenium-wire": [
313
315
  'selenium-wire==5.1.0',
314
- 'pyOpenSSL==24.2.1',
316
+ 'pyOpenSSL>=24.2.1',
315
317
  'pyparsing>=3.1.4',
316
318
  'Brotli==1.1.0',
317
319
  'blinker==1.7.0', # Newer ones had issues
@@ -320,7 +322,7 @@ setup(
320
322
  'hyperframe==6.0.1',
321
323
  'kaitaistruct==0.10',
322
324
  'pyasn1==0.6.1',
323
- 'zstandard==0.23.0',
325
+ 'zstandard>=0.23.0',
324
326
  ],
325
327
  },
326
328
  packages=[
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes