seleniumbase 4.34.12__tar.gz → 4.34.13__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. {seleniumbase-4.34.12/seleniumbase.egg-info → seleniumbase-4.34.13}/PKG-INFO +4 -4
  2. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/requirements.txt +2 -2
  3. seleniumbase-4.34.13/seleniumbase/__version__.py +2 -0
  4. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/browser_launcher.py +15 -0
  5. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/sb_cdp.py +10 -0
  6. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/sb_driver.py +7 -0
  7. seleniumbase-4.34.13/seleniumbase/extensions/ad_block.zip +0 -0
  8. seleniumbase-4.34.13/seleniumbase/extensions/disable_csp.zip +0 -0
  9. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/base_case.py +13 -0
  10. {seleniumbase-4.34.12 → seleniumbase-4.34.13/seleniumbase.egg-info}/PKG-INFO +4 -4
  11. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase.egg-info/requires.txt +3 -3
  12. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/setup.py +3 -3
  13. seleniumbase-4.34.12/seleniumbase/__version__.py +0 -2
  14. seleniumbase-4.34.12/seleniumbase/extensions/ad_block.zip +0 -0
  15. seleniumbase-4.34.12/seleniumbase/extensions/disable_csp.zip +0 -0
  16. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/.gitignore +0 -0
  17. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/LICENSE +0 -0
  18. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/MANIFEST.in +0 -0
  19. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/README.md +0 -0
  20. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/install.sh +0 -0
  21. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/pyproject.toml +0 -0
  22. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/pytest.ini +0 -0
  23. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/sbase/__init__.py +0 -0
  24. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/sbase/__main__.py +0 -0
  25. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/sbase/steps.py +0 -0
  26. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/__init__.py +0 -0
  27. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/__main__.py +0 -0
  28. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/behave/__init__.py +0 -0
  29. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/behave/behave_helper.py +0 -0
  30. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/behave/behave_sb.py +0 -0
  31. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/behave/steps.py +0 -0
  32. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/common/__init__.py +0 -0
  33. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/common/decorators.py +0 -0
  34. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/common/encryption.py +0 -0
  35. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/common/exceptions.py +0 -0
  36. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/common/obfuscate.py +0 -0
  37. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/common/unobfuscate.py +0 -0
  38. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/config/__init__.py +0 -0
  39. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/config/ad_block_list.py +0 -0
  40. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/config/proxy_list.py +0 -0
  41. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/config/settings.py +0 -0
  42. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/__init__.py +0 -0
  43. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/logo_helper.py +0 -0
  44. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/rich_helper.py +0 -0
  45. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/run.py +0 -0
  46. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
  47. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
  48. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_commander.py +0 -0
  49. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_install.py +0 -0
  50. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
  51. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
  52. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
  53. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
  54. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
  55. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_objectify.py +0 -0
  56. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_print.py +0 -0
  57. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_recorder.py +0 -0
  58. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/__init__.py +0 -0
  59. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/application_manager.py +0 -0
  60. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/capabilities_parser.py +0 -0
  61. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/colored_traceback.py +0 -0
  62. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/create_db_tables.sql +0 -0
  63. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/detect_b_ver.py +0 -0
  64. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/download_helper.py +0 -0
  65. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/encoded_images.py +0 -0
  66. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/jqc_helper.py +0 -0
  67. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/log_helper.py +0 -0
  68. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/mysql.py +0 -0
  69. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/proxy_helper.py +0 -0
  70. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/recorder_helper.py +0 -0
  71. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/report_helper.py +0 -0
  72. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/s3_manager.py +0 -0
  73. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/session_helper.py +0 -0
  74. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/settings_parser.py +0 -0
  75. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/style_sheet.py +0 -0
  76. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/testcase_manager.py +0 -0
  77. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/tour_helper.py +0 -0
  78. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/visual_helper.py +0 -0
  79. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/drivers/__init__.py +0 -0
  80. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/extensions/__init__.py +0 -0
  81. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/extensions/recorder.zip +0 -0
  82. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/extensions/sbase_ext.zip +0 -0
  83. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/__init__.py +0 -0
  84. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/constants.py +0 -0
  85. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/css_to_xpath.py +0 -0
  86. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/errors.py +0 -0
  87. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/js_utils.py +0 -0
  88. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/page_actions.py +0 -0
  89. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/page_utils.py +0 -0
  90. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/shared_utils.py +0 -0
  91. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/unittest_helper.py +0 -0
  92. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/words.py +0 -0
  93. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/xpath_to_css.py +0 -0
  94. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/js_code/__init__.py +0 -0
  95. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/js_code/active_css_js.py +0 -0
  96. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/js_code/live_js.py +0 -0
  97. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/js_code/recorder_js.py +0 -0
  98. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/masterqa/__init__.py +0 -0
  99. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/masterqa/master_qa.py +0 -0
  100. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/__init__.py +0 -0
  101. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/base_plugin.py +0 -0
  102. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/basic_test_info.py +0 -0
  103. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
  104. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/driver_manager.py +0 -0
  105. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/page_source.py +0 -0
  106. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/pytest_plugin.py +0 -0
  107. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
  108. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/sb_manager.py +0 -0
  109. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/screen_shots.py +0 -0
  110. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/selenium_plugin.py +0 -0
  111. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/resources/__init__.py +0 -0
  112. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/__init__.py +0 -0
  113. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/chinese.py +0 -0
  114. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/dutch.py +0 -0
  115. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/french.py +0 -0
  116. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/italian.py +0 -0
  117. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/japanese.py +0 -0
  118. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/korean.py +0 -0
  119. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/master_dict.py +0 -0
  120. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/portuguese.py +0 -0
  121. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/russian.py +0 -0
  122. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/spanish.py +0 -0
  123. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/translator.py +0 -0
  124. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/__init__.py +0 -0
  125. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp.py +0 -0
  126. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
  127. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
  128. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
  129. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
  130. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/config.py +0 -0
  131. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
  132. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/element.py +0 -0
  133. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
  134. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/dprocess.py +0 -0
  135. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/options.py +0 -0
  136. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/patcher.py +0 -0
  137. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/reactor.py +0 -0
  138. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/webelement.py +0 -0
  139. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/__init__.py +0 -0
  140. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
  141. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
  142. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/font_color +0 -0
  143. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
  144. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
  145. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
  146. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
  147. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
  148. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
  149. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
  150. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
  151. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
  152. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
  153. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase.egg-info/SOURCES.txt +0 -0
  154. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase.egg-info/dependency_links.txt +0 -0
  155. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase.egg-info/entry_points.txt +0 -0
  156. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase.egg-info/top_level.txt +0 -0
  157. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/setup.cfg +0 -0
  158. {seleniumbase-4.34.12 → seleniumbase-4.34.13}/virtualenv_install.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: seleniumbase
3
- Version: 4.34.12
3
+ Version: 4.34.13
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
@@ -59,7 +59,7 @@ Classifier: Topic :: Utilities
59
59
  Requires-Python: >=3.8
60
60
  Description-Content-Type: text/markdown
61
61
  License-File: LICENSE
62
- Requires-Dist: pip>=25.0
62
+ Requires-Dist: pip>=25.0.1
63
63
  Requires-Dist: packaging>=24.2
64
64
  Requires-Dist: setuptools~=70.2; python_version < "3.10"
65
65
  Requires-Dist: setuptools>=75.8.0; python_version >= "3.10"
@@ -132,7 +132,7 @@ Requires-Dist: allure-python-commons>=2.13.5; extra == "allure"
132
132
  Requires-Dist: allure-behave>=2.13.5; extra == "allure"
133
133
  Provides-Extra: coverage
134
134
  Requires-Dist: coverage>=7.6.1; python_version < "3.9" and extra == "coverage"
135
- Requires-Dist: coverage>=7.6.10; python_version >= "3.9" and extra == "coverage"
135
+ Requires-Dist: coverage>=7.6.12; python_version >= "3.9" and extra == "coverage"
136
136
  Requires-Dist: pytest-cov>=5.0.0; python_version < "3.9" and extra == "coverage"
137
137
  Requires-Dist: pytest-cov>=6.0.0; python_version >= "3.9" and extra == "coverage"
138
138
  Provides-Extra: flake8
@@ -151,7 +151,7 @@ Requires-Dist: mss==9.0.2; extra == "mss"
151
151
  Provides-Extra: pdfminer
152
152
  Requires-Dist: pdfminer.six==20240706; extra == "pdfminer"
153
153
  Requires-Dist: cryptography==39.0.2; python_version < "3.9" and extra == "pdfminer"
154
- Requires-Dist: cryptography==44.0.0; python_version >= "3.9" and extra == "pdfminer"
154
+ Requires-Dist: cryptography==44.0.1; python_version >= "3.9" and extra == "pdfminer"
155
155
  Requires-Dist: cffi==1.17.1; extra == "pdfminer"
156
156
  Requires-Dist: pycparser==2.22; extra == "pdfminer"
157
157
  Provides-Extra: pillow
@@ -1,4 +1,4 @@
1
- pip>=25.0
1
+ pip>=25.0.1
2
2
  packaging>=24.2
3
3
  setuptools~=70.2;python_version<"3.10"
4
4
  setuptools>=75.8.0;python_version>="3.10"
@@ -70,7 +70,7 @@ rich==13.9.4
70
70
  # ("pip install -r requirements.txt" also installs this, but "pip install -e ." won't.)
71
71
 
72
72
  coverage>=7.6.1;python_version<"3.9"
73
- coverage>=7.6.10;python_version>="3.9"
73
+ coverage>=7.6.12;python_version>="3.9"
74
74
  pytest-cov>=5.0.0;python_version<"3.9"
75
75
  pytest-cov>=6.0.0;python_version>="3.9"
76
76
  flake8==5.0.4;python_version<"3.9"
@@ -0,0 +1,2 @@
1
+ # seleniumbase package
2
+ __version__ = "4.34.13"
@@ -220,6 +220,7 @@ def extend_driver(driver):
220
220
  driver.highlight_if_visible = DM.highlight_if_visible
221
221
  driver.sleep = time.sleep
222
222
  driver.get_attribute = DM.get_attribute
223
+ driver.get_parent = DM.get_parent
223
224
  driver.get_current_url = DM.get_current_url
224
225
  driver.get_page_source = DM.get_page_source
225
226
  driver.get_title = DM.get_title
@@ -647,6 +648,7 @@ def uc_open_with_cdp_mode(driver, url=None):
647
648
  cdp.click_if_visible = CDPM.click_if_visible
648
649
  cdp.click_visible_elements = CDPM.click_visible_elements
649
650
  cdp.mouse_click = CDPM.mouse_click
651
+ cdp.get_parent = CDPM.get_parent
650
652
  cdp.remove_element = CDPM.remove_element
651
653
  cdp.remove_from_dom = CDPM.remove_from_dom
652
654
  cdp.remove_elements = CDPM.remove_elements
@@ -5394,6 +5396,19 @@ def get_local_driver(
5394
5396
  )
5395
5397
  driver._is_hidden = (headless or headless2)
5396
5398
  driver._is_using_uc = True
5399
+ with suppress(Exception):
5400
+ if int(uc_driver_version) >= 133:
5401
+ for window_handle in driver.window_handles:
5402
+ driver.switch_to.window(window_handle)
5403
+ if driver.current_url.startswith(
5404
+ "chrome-extension://"
5405
+ ):
5406
+ driver.close()
5407
+ time.sleep(0.003)
5408
+ driver.switch_to.window(driver.window_handles[0])
5409
+ time.sleep(0.003)
5410
+ driver.connect()
5411
+ time.sleep(0.003)
5397
5412
  if mobile_emulator:
5398
5413
  uc_metrics = {}
5399
5414
  if (
@@ -91,6 +91,8 @@ class CDPMethods():
91
91
  element.get_attribute = (
92
92
  lambda attribute: self.__get_attribute(element, attribute)
93
93
  )
94
+ # element.get_parent() should come last
95
+ element.get_parent = lambda: self.__get_parent(element)
94
96
  return element
95
97
 
96
98
  def get(self, url):
@@ -549,6 +551,9 @@ class CDPMethods():
549
551
  pass
550
552
  return None
551
553
 
554
+ def __get_parent(self, element):
555
+ return self.__add_sync_methods(element.parent)
556
+
552
557
  def __get_x_scroll_offset(self):
553
558
  x_scroll_offset = self.loop.run_until_complete(
554
559
  self.page.evaluate("window.pageXOffset")
@@ -769,6 +774,11 @@ class CDPMethods():
769
774
  def highlight_overlay(self, selector):
770
775
  self.find_element(selector).highlight_overlay()
771
776
 
777
+ def get_parent(self, element):
778
+ if isinstance(element, str):
779
+ element = self.select(element)
780
+ return self.__add_sync_methods(element.parent)
781
+
772
782
  def remove_element(self, selector):
773
783
  self.select(selector).remove_from_dom()
774
784
 
@@ -51,6 +51,13 @@ class DriverMethods():
51
51
  element = self.locator(selector, by=by)
52
52
  return element.get_attribute(attribute)
53
53
 
54
+ def get_parent(self, element):
55
+ if self.__is_cdp_swap_needed():
56
+ return self.driver.cdp.get_parent(element)
57
+ if isinstance(element, str):
58
+ element = self.locator(element)
59
+ return element.find_element(by="xpath", value="..")
60
+
54
61
  def get_current_url(self):
55
62
  if self.__is_cdp_swap_needed():
56
63
  current_url = self.driver.cdp.get_current_url()
@@ -2072,6 +2072,19 @@ class BaseCase(unittest.TestCase):
2072
2072
  return
2073
2073
  self.set_attributes('[target="_blank"]', "target", "_self")
2074
2074
 
2075
+ def get_parent(self, element, by="css selector", timeout=None):
2076
+ """Returns the parent element.
2077
+ If element is a string, then finds element first via selector."""
2078
+ if self.__is_cdp_swap_needed():
2079
+ return self.cdp.get_parent(element)
2080
+ if isinstance(element, str):
2081
+ if not timeout:
2082
+ timeout = settings.LARGE_TIMEOUT
2083
+ element = self.wait_for_element_present(
2084
+ element, by=by, timeout=timeout
2085
+ )
2086
+ return element.find_element(by="xpath", value="..")
2087
+
2075
2088
  def get_property(
2076
2089
  self, selector, property, by="css selector", timeout=None
2077
2090
  ):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: seleniumbase
3
- Version: 4.34.12
3
+ Version: 4.34.13
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
@@ -59,7 +59,7 @@ Classifier: Topic :: Utilities
59
59
  Requires-Python: >=3.8
60
60
  Description-Content-Type: text/markdown
61
61
  License-File: LICENSE
62
- Requires-Dist: pip>=25.0
62
+ Requires-Dist: pip>=25.0.1
63
63
  Requires-Dist: packaging>=24.2
64
64
  Requires-Dist: setuptools~=70.2; python_version < "3.10"
65
65
  Requires-Dist: setuptools>=75.8.0; python_version >= "3.10"
@@ -132,7 +132,7 @@ Requires-Dist: allure-python-commons>=2.13.5; extra == "allure"
132
132
  Requires-Dist: allure-behave>=2.13.5; extra == "allure"
133
133
  Provides-Extra: coverage
134
134
  Requires-Dist: coverage>=7.6.1; python_version < "3.9" and extra == "coverage"
135
- Requires-Dist: coverage>=7.6.10; python_version >= "3.9" and extra == "coverage"
135
+ Requires-Dist: coverage>=7.6.12; python_version >= "3.9" and extra == "coverage"
136
136
  Requires-Dist: pytest-cov>=5.0.0; python_version < "3.9" and extra == "coverage"
137
137
  Requires-Dist: pytest-cov>=6.0.0; python_version >= "3.9" and extra == "coverage"
138
138
  Provides-Extra: flake8
@@ -151,7 +151,7 @@ Requires-Dist: mss==9.0.2; extra == "mss"
151
151
  Provides-Extra: pdfminer
152
152
  Requires-Dist: pdfminer.six==20240706; extra == "pdfminer"
153
153
  Requires-Dist: cryptography==39.0.2; python_version < "3.9" and extra == "pdfminer"
154
- Requires-Dist: cryptography==44.0.0; python_version >= "3.9" and extra == "pdfminer"
154
+ Requires-Dist: cryptography==44.0.1; python_version >= "3.9" and extra == "pdfminer"
155
155
  Requires-Dist: cffi==1.17.1; extra == "pdfminer"
156
156
  Requires-Dist: pycparser==2.22; extra == "pdfminer"
157
157
  Provides-Extra: pillow
@@ -1,4 +1,4 @@
1
- pip>=25.0
1
+ pip>=25.0.1
2
2
  packaging>=24.2
3
3
  wheel>=0.45.1
4
4
  attrs>=25.1.0
@@ -90,7 +90,7 @@ coverage>=7.6.1
90
90
  pytest-cov>=5.0.0
91
91
 
92
92
  [coverage:python_version >= "3.9"]
93
- coverage>=7.6.10
93
+ coverage>=7.6.12
94
94
  pytest-cov>=6.0.0
95
95
 
96
96
  [flake8]
@@ -122,7 +122,7 @@ pycparser==2.22
122
122
  cryptography==39.0.2
123
123
 
124
124
  [pdfminer:python_version >= "3.9"]
125
- cryptography==44.0.0
125
+ cryptography==44.0.1
126
126
 
127
127
  [pillow]
128
128
 
@@ -147,7 +147,7 @@ setup(
147
147
  ],
148
148
  python_requires=">=3.8",
149
149
  install_requires=[
150
- 'pip>=25.0',
150
+ 'pip>=25.0.1',
151
151
  'packaging>=24.2',
152
152
  'setuptools~=70.2;python_version<"3.10"', # Newer ones had issues
153
153
  'setuptools>=75.8.0;python_version>="3.10"',
@@ -228,7 +228,7 @@ setup(
228
228
  # Usage: coverage run -m pytest; coverage html; coverage report
229
229
  "coverage": [
230
230
  'coverage>=7.6.1;python_version<"3.9"',
231
- 'coverage>=7.6.10;python_version>="3.9"',
231
+ 'coverage>=7.6.12;python_version>="3.9"',
232
232
  'pytest-cov>=5.0.0;python_version<"3.9"',
233
233
  'pytest-cov>=6.0.0;python_version>="3.9"',
234
234
  ],
@@ -259,7 +259,7 @@ setup(
259
259
  "pdfminer": [
260
260
  'pdfminer.six==20240706',
261
261
  'cryptography==39.0.2;python_version<"3.9"',
262
- 'cryptography==44.0.0;python_version>="3.9"',
262
+ 'cryptography==44.0.1;python_version>="3.9"',
263
263
  'cffi==1.17.1',
264
264
  "pycparser==2.22",
265
265
  ],
@@ -1,2 +0,0 @@
1
- # seleniumbase package
2
- __version__ = "4.34.12"
File without changes
File without changes
File without changes