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.
- {seleniumbase-4.34.12/seleniumbase.egg-info → seleniumbase-4.34.13}/PKG-INFO +4 -4
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/requirements.txt +2 -2
- seleniumbase-4.34.13/seleniumbase/__version__.py +2 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/browser_launcher.py +15 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/sb_cdp.py +10 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/sb_driver.py +7 -0
- seleniumbase-4.34.13/seleniumbase/extensions/ad_block.zip +0 -0
- seleniumbase-4.34.13/seleniumbase/extensions/disable_csp.zip +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/base_case.py +13 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13/seleniumbase.egg-info}/PKG-INFO +4 -4
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase.egg-info/requires.txt +3 -3
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/setup.py +3 -3
- seleniumbase-4.34.12/seleniumbase/__version__.py +0 -2
- seleniumbase-4.34.12/seleniumbase/extensions/ad_block.zip +0 -0
- seleniumbase-4.34.12/seleniumbase/extensions/disable_csp.zip +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/.gitignore +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/LICENSE +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/MANIFEST.in +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/README.md +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/install.sh +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/pyproject.toml +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/pytest.ini +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/sbase/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/sbase/__main__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/sbase/steps.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/__main__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/behave/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/behave/behave_helper.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/behave/behave_sb.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/behave/steps.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/common/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/common/decorators.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/common/encryption.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/common/exceptions.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/common/obfuscate.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/common/unobfuscate.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/config/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/config/ad_block_list.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/config/proxy_list.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/config/settings.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/logo_helper.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/rich_helper.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/run.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_commander.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_install.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_objectify.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_print.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/console_scripts/sb_recorder.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/application_manager.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/capabilities_parser.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/colored_traceback.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/create_db_tables.sql +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/detect_b_ver.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/download_helper.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/encoded_images.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/jqc_helper.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/log_helper.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/mysql.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/proxy_helper.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/recorder_helper.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/report_helper.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/s3_manager.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/session_helper.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/settings_parser.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/style_sheet.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/testcase_manager.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/tour_helper.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/core/visual_helper.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/drivers/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/extensions/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/extensions/recorder.zip +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/extensions/sbase_ext.zip +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/constants.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/css_to_xpath.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/errors.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/js_utils.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/page_actions.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/page_utils.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/shared_utils.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/unittest_helper.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/words.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/fixtures/xpath_to_css.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/js_code/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/js_code/active_css_js.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/js_code/live_js.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/js_code/recorder_js.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/masterqa/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/masterqa/master_qa.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/base_plugin.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/basic_test_info.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/driver_manager.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/page_source.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/pytest_plugin.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/sb_manager.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/screen_shots.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/plugins/selenium_plugin.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/resources/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/chinese.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/dutch.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/french.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/italian.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/japanese.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/korean.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/master_dict.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/portuguese.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/russian.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/spanish.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/translate/translator.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/config.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/element.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/dprocess.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/options.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/patcher.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/reactor.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/webelement.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/font_color +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase.egg-info/SOURCES.txt +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase.egg-info/dependency_links.txt +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase.egg-info/entry_points.txt +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase.egg-info/top_level.txt +0 -0
- {seleniumbase-4.34.12 → seleniumbase-4.34.13}/setup.cfg +0 -0
- {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.
|
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.
|
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.
|
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.
|
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"
|
@@ -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()
|
Binary file
|
Binary file
|
@@ -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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
262
|
+
'cryptography==44.0.1;python_version>="3.9"',
|
263
263
|
'cffi==1.17.1',
|
264
264
|
"pycparser==2.22",
|
265
265
|
],
|
Binary file
|
Binary file
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/__init__.py
RENAMED
File without changes
|
{seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/_contradict.py
RENAMED
File without changes
|
File without changes
|
{seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/cdp_util.py
RENAMED
File without changes
|
File without changes
|
{seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/undetected/cdp_driver/connection.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/__init__.py
RENAMED
File without changes
|
File without changes
|
{seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/font_color
RENAMED
File without changes
|
File without changes
|
{seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/grid-node
RENAMED
File without changes
|
{seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/grid_hub.py
RENAMED
File without changes
|
{seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/grid_node.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh
RENAMED
File without changes
|
{seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_ide/__init__.py
RENAMED
File without changes
|
{seleniumbase-4.34.12 → seleniumbase-4.34.13}/seleniumbase/utilities/selenium_ide/convert_ide.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|