seleniumbase 4.50.3__tar.gz → 4.50.4__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.
- {seleniumbase-4.50.3/seleniumbase.egg-info → seleniumbase-4.50.4}/PKG-INFO +3 -2
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/README.md +1 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/__version__.py +1 -1
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/run.py +39 -39
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/sb_install.py +55 -44
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/browser_launcher.py +5 -1
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/proxy_helper.py +9 -9
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/fixtures/base_case.py +22 -7
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/cdp_driver/tab.py +12 -14
- {seleniumbase-4.50.3 → seleniumbase-4.50.4/seleniumbase.egg-info}/PKG-INFO +3 -2
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase.egg-info/requires.txt +1 -1
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/setup.py +1 -1
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/.gitignore +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/LICENSE +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/MANIFEST.in +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/install.sh +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/pyproject.toml +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/pytest.ini +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/requirements.txt +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/sbase/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/sbase/__main__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/sbase/steps.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/__main__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/behave/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/behave/behave_helper.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/behave/behave_sb.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/behave/steps.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/common/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/common/decorators.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/common/encryption.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/common/exceptions.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/common/obfuscate.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/common/unobfuscate.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/config/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/config/ad_block_list.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/config/proxy_list.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/config/settings.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/logo_helper.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/rich_helper.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/sb_commander.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/sb_objectify.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/sb_print.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/console_scripts/sb_recorder.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/application_manager.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/capabilities_parser.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/colored_traceback.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/create_db_tables.sql +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/detect_b_ver.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/download_helper.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/encoded_images.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/jqc_helper.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/log_helper.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/mysql.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/nest_asyncio.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/recorder_helper.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/report_helper.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/s3_manager.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/sb_cdp.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/sb_driver.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/session_helper.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/settings_parser.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/style_sheet.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/testcase_manager.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/tour_helper.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/core/visual_helper.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/drivers/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/drivers/atlas_drivers/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/drivers/brave_drivers/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/drivers/chromium_drivers/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/drivers/chs_drivers/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/drivers/comet_drivers/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/drivers/opera_drivers/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/extensions/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/extensions/ad_block.zip +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/extensions/disable_csp.zip +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/extensions/recorder.zip +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/extensions/sbase_ext.zip +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/fixtures/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/fixtures/constants.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/fixtures/css_to_xpath.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/fixtures/errors.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/fixtures/js_utils.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/fixtures/page_actions.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/fixtures/page_utils.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/fixtures/shared_utils.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/fixtures/unittest_helper.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/fixtures/words.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/fixtures/xpath_to_css.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/js_code/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/js_code/active_css_js.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/js_code/live_js.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/js_code/recorder_js.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/masterqa/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/masterqa/master_qa.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/plugins/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/plugins/base_plugin.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/plugins/basic_test_info.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/plugins/driver_manager.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/plugins/page_source.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/plugins/pytest_plugin.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/plugins/sb_manager.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/plugins/screen_shots.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/plugins/selenium_plugin.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/resources/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/translate/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/translate/chinese.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/translate/dutch.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/translate/french.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/translate/italian.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/translate/japanese.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/translate/korean.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/translate/master_dict.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/translate/portuguese.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/translate/russian.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/translate/spanish.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/translate/translator.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/cdp.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/cdp_driver/config.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/cdp_driver/element.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/dprocess.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/options.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/patcher.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/reactor.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/webelement.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/font_color +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase.egg-info/SOURCES.txt +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase.egg-info/dependency_links.txt +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase.egg-info/entry_points.txt +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase.egg-info/top_level.txt +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/setup.cfg +0 -0
- {seleniumbase-4.50.3 → seleniumbase-4.50.4}/virtualenv_install.sh +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seleniumbase
|
|
3
|
-
Version: 4.50.
|
|
3
|
+
Version: 4.50.4
|
|
4
4
|
Summary: SeleniumBase is a framework for web crawling, scraping, and testing. Supports pytest. CDP Mode adds stealth. Includes many tools.
|
|
5
5
|
Home-page: https://github.com/seleniumbase/SeleniumBase
|
|
6
6
|
Author: Michael Mintz
|
|
@@ -167,7 +167,7 @@ Requires-Dist: proxy.py==2.4.3; extra == "proxy"
|
|
|
167
167
|
Provides-Extra: playwright
|
|
168
168
|
Requires-Dist: playwright>=1.60.0; extra == "playwright"
|
|
169
169
|
Requires-Dist: greenlet>=3.2.5; python_version < "3.10" and extra == "playwright"
|
|
170
|
-
Requires-Dist: greenlet>=3.5.
|
|
170
|
+
Requires-Dist: greenlet>=3.5.3; python_version >= "3.10" and extra == "playwright"
|
|
171
171
|
Provides-Extra: pyautogui
|
|
172
172
|
Requires-Dist: PyAutoGUI>=0.9.54; platform_system != "Linux" and extra == "pyautogui"
|
|
173
173
|
Dynamic: author
|
|
@@ -949,6 +949,7 @@ pytest test_coffee_cart.py --trace
|
|
|
949
949
|
--brave # (Shortcut for "--browser=brave".)
|
|
950
950
|
--comet # (Shortcut for "--browser=comet".)
|
|
951
951
|
--atlas # (Shortcut for "--browser=atlas".)
|
|
952
|
+
--chromium # (Shortcut for using base `Chromium`)
|
|
952
953
|
--settings-file=FILE # (Override default SeleniumBase settings.)
|
|
953
954
|
--env=ENV # (Set the test env. Access with "self.env" in tests.)
|
|
954
955
|
--account=STR # (Set account. Access with "self.account" in tests.)
|
|
@@ -763,6 +763,7 @@ pytest test_coffee_cart.py --trace
|
|
|
763
763
|
--brave # (Shortcut for "--browser=brave".)
|
|
764
764
|
--comet # (Shortcut for "--browser=comet".)
|
|
765
765
|
--atlas # (Shortcut for "--browser=atlas".)
|
|
766
|
+
--chromium # (Shortcut for using base `Chromium`)
|
|
766
767
|
--settings-file=FILE # (Override default SeleniumBase settings.)
|
|
767
768
|
--env=ENV # (Set the test env. Access with "self.env" in tests.)
|
|
768
769
|
--account=STR # (Set account. Access with "self.account" in tests.)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# seleniumbase package
|
|
2
|
-
__version__ = "4.50.
|
|
2
|
+
__version__ = "4.50.4"
|
|
@@ -52,15 +52,15 @@ def show_basic_usage():
|
|
|
52
52
|
|
|
53
53
|
seleniumbase_logo = logo_helper.get_seleniumbase_logo()
|
|
54
54
|
print(seleniumbase_logo)
|
|
55
|
-
time.sleep(0.
|
|
55
|
+
time.sleep(0.044)
|
|
56
56
|
print("")
|
|
57
|
-
time.sleep(0.
|
|
57
|
+
time.sleep(0.034)
|
|
58
58
|
show_package_location()
|
|
59
|
-
time.sleep(0.
|
|
59
|
+
time.sleep(0.034)
|
|
60
60
|
show_version_info()
|
|
61
|
-
time.sleep(0.
|
|
61
|
+
time.sleep(0.034)
|
|
62
62
|
print("")
|
|
63
|
-
time.sleep(0.
|
|
63
|
+
time.sleep(0.468) # Enough time to see the logo & version
|
|
64
64
|
sc = ""
|
|
65
65
|
sc += "╭──────────────────────────────────────────────────╮\n"
|
|
66
66
|
sc += '│ * USAGE: "seleniumbase [COMMAND] [PARAMETERS]" │\n'
|
|
@@ -134,40 +134,40 @@ def show_install_usage():
|
|
|
134
134
|
sc = " " + c2 + "** " + c3 + "get / install" + c2 + " **" + cr
|
|
135
135
|
print(sc)
|
|
136
136
|
print("")
|
|
137
|
-
print("
|
|
138
|
-
print("
|
|
139
|
-
print("
|
|
140
|
-
print("
|
|
141
|
-
print("
|
|
142
|
-
print("
|
|
143
|
-
print(" edgedriver,
|
|
144
|
-
print("
|
|
145
|
-
print("
|
|
146
|
-
print("
|
|
147
|
-
print("
|
|
148
|
-
print("
|
|
149
|
-
print()
|
|
150
|
-
print("
|
|
151
|
-
print("
|
|
152
|
-
print("
|
|
153
|
-
print("
|
|
154
|
-
print("
|
|
155
|
-
print("
|
|
156
|
-
print("
|
|
157
|
-
print("
|
|
158
|
-
print("
|
|
159
|
-
print("
|
|
160
|
-
print("
|
|
161
|
-
print("
|
|
162
|
-
print("
|
|
163
|
-
print("
|
|
164
|
-
print("
|
|
165
|
-
print("
|
|
166
|
-
print("
|
|
167
|
-
print("
|
|
168
|
-
print("
|
|
169
|
-
print("
|
|
170
|
-
print("
|
|
137
|
+
print("Usage:")
|
|
138
|
+
print(" seleniumbase install [DRIVER/BINARY] [OPTIONS]")
|
|
139
|
+
print(" OR: seleniumbase get [DRIVER/BINARY] [OPTIONS]")
|
|
140
|
+
print(" OR: sbase install [DRIVER/BINARY] [OPTIONS]")
|
|
141
|
+
print(" OR: sbase get [DRIVER/BINARY] [OPTIONS]")
|
|
142
|
+
print(" (Drivers: chromedriver, uc_driver,")
|
|
143
|
+
print(" edgedriver, geckodriver)")
|
|
144
|
+
print(" (Binaries: cft, chs, chromium)")
|
|
145
|
+
print("Options:")
|
|
146
|
+
print(" VERSION Driver/binary version to download.")
|
|
147
|
+
print(" (Otherwise detects the version)")
|
|
148
|
+
print(" --revision The Chromium revision to download.")
|
|
149
|
+
print(" (Otherwise downloads the latest)")
|
|
150
|
+
print(" -p OR --path Also copy driver to /usr/local/bin")
|
|
151
|
+
print("Examples:")
|
|
152
|
+
print(" sbase get chromedriver")
|
|
153
|
+
print(" sbase get geckodriver")
|
|
154
|
+
print(" sbase get edgedriver")
|
|
155
|
+
print(" sbase get chromedriver 149")
|
|
156
|
+
print(" sbase get chromedriver 149.0.7827.155")
|
|
157
|
+
print(" sbase get chromedriver stable")
|
|
158
|
+
print(" sbase get chromedriver beta")
|
|
159
|
+
print(" sbase get chromedriver -p")
|
|
160
|
+
print(" sbase get chromium")
|
|
161
|
+
print(" sbase get chromium --revision=1639046")
|
|
162
|
+
print(" sbase get cft 149")
|
|
163
|
+
print(" sbase get chs")
|
|
164
|
+
print("Output:")
|
|
165
|
+
print(" Downloads driver/binary to seleniumbase/drivers/")
|
|
166
|
+
print(" (chromedriver is for Selenium Chrome automation)")
|
|
167
|
+
print(" (geckodriver is for Selenium Firefox automation)")
|
|
168
|
+
print(" (edgedriver is for Selenium MS__Edge automation)")
|
|
169
|
+
print(" (cft is for the `Chrome for Testing` binary exe)")
|
|
170
|
+
print(" (chs is for the `Chrome-Headless-Shell` binary.)")
|
|
171
171
|
print("")
|
|
172
172
|
|
|
173
173
|
|
|
@@ -2,20 +2,25 @@
|
|
|
2
2
|
Downloads the specified webdriver to "seleniumbase/drivers/"
|
|
3
3
|
|
|
4
4
|
Usage:
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
seleniumbase install [DRIVER/BINARY] [OPTIONS]
|
|
6
|
+
OR: seleniumbase get [DRIVER/BINARY] [OPTIONS]
|
|
7
|
+
OR: sbase install [DRIVER/BINARY] [OPTIONS]
|
|
8
|
+
OR: sbase get [DRIVER/BINARY] [OPTIONS]
|
|
9
|
+
(Drivers: chromedriver, uc_driver,
|
|
10
|
+
edgedriver, geckodriver)
|
|
11
|
+
(Binaries: cft, chs, chromium)
|
|
7
12
|
Options:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-p OR --path
|
|
13
|
+
VERSION Driver/binary version to download.
|
|
14
|
+
(Otherwise detects the version)
|
|
15
|
+
--revision The Chromium revision to download.
|
|
16
|
+
(Otherwise downloads the latest)
|
|
17
|
+
-p OR --path Also copy driver to /usr/local/bin
|
|
13
18
|
Examples:
|
|
14
19
|
sbase get chromedriver
|
|
15
20
|
sbase get geckodriver
|
|
16
21
|
sbase get edgedriver
|
|
17
22
|
sbase get chromedriver 149
|
|
18
|
-
sbase get chromedriver 149.0.7827.
|
|
23
|
+
sbase get chromedriver 149.0.7827.155
|
|
19
24
|
sbase get chromedriver stable
|
|
20
25
|
sbase get chromedriver beta
|
|
21
26
|
sbase get chromedriver -p
|
|
@@ -24,10 +29,12 @@ Examples:
|
|
|
24
29
|
sbase get cft 149
|
|
25
30
|
sbase get chs
|
|
26
31
|
Output:
|
|
27
|
-
Downloads
|
|
28
|
-
(chromedriver is
|
|
29
|
-
(geckodriver is
|
|
30
|
-
(edgedriver is
|
|
32
|
+
Downloads driver/binary to seleniumbase/drivers/
|
|
33
|
+
(chromedriver is for Selenium Chrome automation)
|
|
34
|
+
(geckodriver is for Selenium Firefox automation)
|
|
35
|
+
(edgedriver is for Selenium MS__Edge automation)
|
|
36
|
+
(cft is for the `Chrome for Testing` binary exe)
|
|
37
|
+
(chs is for the `Chrome-Headless-Shell` binary.)
|
|
31
38
|
"""
|
|
32
39
|
import colorama
|
|
33
40
|
import logging
|
|
@@ -71,38 +78,40 @@ DEFAULT_EDGEDRIVER_VERSION = "115.0.1901.183" # (If can't find LATEST_STABLE)
|
|
|
71
78
|
|
|
72
79
|
def invalid_run_command():
|
|
73
80
|
exp = " ** get / install **\n\n"
|
|
74
|
-
exp += "
|
|
75
|
-
exp += "
|
|
76
|
-
exp += "
|
|
77
|
-
exp += "
|
|
78
|
-
exp += "
|
|
79
|
-
exp += "
|
|
80
|
-
exp += " edgedriver,
|
|
81
|
-
exp += "
|
|
82
|
-
exp += "
|
|
83
|
-
exp += "
|
|
84
|
-
exp += "
|
|
85
|
-
exp += "
|
|
86
|
-
exp += "\n"
|
|
87
|
-
exp += "
|
|
88
|
-
exp += "
|
|
89
|
-
exp += "
|
|
90
|
-
exp += "
|
|
91
|
-
exp += "
|
|
92
|
-
exp += "
|
|
93
|
-
exp += "
|
|
94
|
-
exp += "
|
|
95
|
-
exp += "
|
|
96
|
-
exp += "
|
|
97
|
-
exp += "
|
|
98
|
-
exp += "
|
|
99
|
-
exp += "
|
|
100
|
-
exp += "
|
|
101
|
-
exp += "
|
|
102
|
-
exp += "
|
|
103
|
-
exp += "
|
|
104
|
-
exp += "
|
|
105
|
-
exp += "
|
|
81
|
+
exp += "Usage:\n"
|
|
82
|
+
exp += " seleniumbase install [DRIVER/BINARY] [OPTIONS]\n"
|
|
83
|
+
exp += " OR sbase install [DRIVER/BINARY] [OPTIONS]\n"
|
|
84
|
+
exp += " OR seleniumbase get [DRIVER/BINARY] [OPTIONS]\n"
|
|
85
|
+
exp += " OR sbase get [DRIVER/BINARY] [OPTIONS]\n"
|
|
86
|
+
exp += " (Drivers: chromedriver, uc_driver,\n"
|
|
87
|
+
exp += " edgedriver, geckodriver)\n"
|
|
88
|
+
exp += " (Binaries: cft, chs, chromium)\n"
|
|
89
|
+
exp += "Options:\n"
|
|
90
|
+
exp += " VERSION Driver/binary version to download.\n"
|
|
91
|
+
exp += " (Otherwise detects the version)\n"
|
|
92
|
+
exp += " --revision The Chromium revision to download.\n"
|
|
93
|
+
exp += " (Otherwise downloads the latest)\n"
|
|
94
|
+
exp += " -p OR --path Also copy driver to /usr/local/bin\n"
|
|
95
|
+
exp += "Examples:\n"
|
|
96
|
+
exp += " sbase get chromedriver\n"
|
|
97
|
+
exp += " sbase get geckodriver\n"
|
|
98
|
+
exp += " sbase get edgedriver\n"
|
|
99
|
+
exp += " sbase get chromedriver 149\n"
|
|
100
|
+
exp += " sbase get chromedriver 149.0.7827.155\n"
|
|
101
|
+
exp += " sbase get chromedriver stable\n"
|
|
102
|
+
exp += " sbase get chromedriver beta\n"
|
|
103
|
+
exp += " sbase get chromedriver -p\n"
|
|
104
|
+
exp += " sbase get chromium\n"
|
|
105
|
+
exp += " sbase get chromium --revision=1639046\n"
|
|
106
|
+
exp += " sbase get cft 149\n"
|
|
107
|
+
exp += " sbase get chs\n"
|
|
108
|
+
exp += "Output:\n"
|
|
109
|
+
exp += " Downloads driver/binary to seleniumbase/drivers/\n"
|
|
110
|
+
exp += " (chromedriver is for Selenium Chrome automation)\n"
|
|
111
|
+
exp += " (geckodriver is for Selenium Firefox automation)\n"
|
|
112
|
+
exp += " (edgedriver is for Selenium MS__Edge automation)\n"
|
|
113
|
+
exp += " (cft is for the `Chrome for Testing` binary exe)\n"
|
|
114
|
+
exp += " (chs is for the `Chrome-Headless-Shell` binary.)\n"
|
|
106
115
|
print("")
|
|
107
116
|
raise Exception("%s\n\n%s" % (constants.Warnings.INVALID_RUN_COMMAND, exp))
|
|
108
117
|
|
|
@@ -139,6 +148,8 @@ def get_proxy_info():
|
|
|
139
148
|
protocol = "https"
|
|
140
149
|
elif "socks4" in proxy_string:
|
|
141
150
|
protocol = "socks4"
|
|
151
|
+
elif "socks5h" in proxy_string:
|
|
152
|
+
protocol = "socks5h"
|
|
142
153
|
elif "socks5" in proxy_string:
|
|
143
154
|
protocol = "socks5"
|
|
144
155
|
proxy_string = proxy_helper.validate_proxy_string(proxy_string)
|
|
@@ -340,6 +340,8 @@ def requests_get(url, proxy_string=None):
|
|
|
340
340
|
protocol = "https"
|
|
341
341
|
elif "socks4" in proxy_string:
|
|
342
342
|
protocol = "socks4"
|
|
343
|
+
elif "socks5h" in proxy_string:
|
|
344
|
+
protocol = "socks5h"
|
|
343
345
|
elif "socks5" in proxy_string:
|
|
344
346
|
protocol = "socks5"
|
|
345
347
|
proxies = {protocol: proxy_string}
|
|
@@ -2901,7 +2903,9 @@ def _set_firefox_options(
|
|
|
2901
2903
|
socks_ver = 0
|
|
2902
2904
|
chunks = proxy_string.split(":")
|
|
2903
2905
|
if len(chunks) == 3 and (
|
|
2904
|
-
chunks[0] == "socks4"
|
|
2906
|
+
chunks[0] == "socks4"
|
|
2907
|
+
or chunks[0] == "socks5"
|
|
2908
|
+
or chunks[0] == "socks5h"
|
|
2905
2909
|
):
|
|
2906
2910
|
socks_proxy = True
|
|
2907
2911
|
socks_ver = int(chunks[0][5])
|
|
@@ -177,6 +177,8 @@ def validate_proxy_string(proxy_string, keep_scheme=False):
|
|
|
177
177
|
proxy_scheme = "https"
|
|
178
178
|
elif proxy_string.startswith("socks4://"):
|
|
179
179
|
proxy_scheme = "socks4"
|
|
180
|
+
elif proxy_string.startswith("socks5h://"):
|
|
181
|
+
proxy_scheme = "socks5h"
|
|
180
182
|
elif proxy_string.startswith("socks5://"):
|
|
181
183
|
proxy_scheme = "socks5"
|
|
182
184
|
valid = False
|
|
@@ -189,8 +191,10 @@ def validate_proxy_string(proxy_string, keep_scheme=False):
|
|
|
189
191
|
elif proxy_string.startswith("https://"):
|
|
190
192
|
proxy_string = proxy_string.split("https://")[1]
|
|
191
193
|
elif "://" in proxy_string:
|
|
192
|
-
if
|
|
193
|
-
proxy_string.startswith("
|
|
194
|
+
if (
|
|
195
|
+
not proxy_string.startswith("socks4://")
|
|
196
|
+
and not proxy_string.startswith("socks5://")
|
|
197
|
+
and not proxy_string.startswith("socks5h://")
|
|
194
198
|
):
|
|
195
199
|
proxy_string = proxy_string.split("://")[1]
|
|
196
200
|
chunks = proxy_string.split(":")
|
|
@@ -201,13 +205,9 @@ def validate_proxy_string(proxy_string, keep_scheme=False):
|
|
|
201
205
|
elif len(chunks) == 3:
|
|
202
206
|
if re.match(r"^\d+$", chunks[2]):
|
|
203
207
|
if page_utils.is_valid_url("http:" + ":".join(chunks[1:])):
|
|
204
|
-
if chunks[0]
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
valid = True
|
|
208
|
-
elif chunks[0] == "socks4":
|
|
209
|
-
valid = True
|
|
210
|
-
elif chunks[0] == "socks5":
|
|
208
|
+
if chunks[0] in [
|
|
209
|
+
"http", "https", "socks4", "socks5", "socks5h"
|
|
210
|
+
]:
|
|
211
211
|
valid = True
|
|
212
212
|
else:
|
|
213
213
|
proxy_string = val_ip.group()
|
|
@@ -7776,15 +7776,30 @@ class BaseCase(unittest.TestCase):
|
|
|
7776
7776
|
file_path = None
|
|
7777
7777
|
if page_utils.is_valid_url(pdf):
|
|
7778
7778
|
downloads_folder = download_helper.get_downloads_folder()
|
|
7779
|
-
if nav:
|
|
7780
|
-
if self.get_current_url() != pdf:
|
|
7781
|
-
self.open(pdf)
|
|
7782
7779
|
file_name = pdf.split("/")[-1]
|
|
7783
7780
|
file_path = os.path.join(downloads_folder, file_name)
|
|
7784
|
-
if not
|
|
7785
|
-
self.
|
|
7786
|
-
|
|
7787
|
-
|
|
7781
|
+
if nav and not self.external_pdf:
|
|
7782
|
+
self.open(pdf)
|
|
7783
|
+
if (self.undetectable and self.external_pdf):
|
|
7784
|
+
just_opened = False
|
|
7785
|
+
if (
|
|
7786
|
+
self.get_current_url() != pdf
|
|
7787
|
+
and not os.path.exists(
|
|
7788
|
+
os.path.join(downloads_folder, file_name)
|
|
7789
|
+
)
|
|
7790
|
+
):
|
|
7791
|
+
just_opened = True
|
|
7792
|
+
self.open(pdf)
|
|
7793
|
+
if self.external_pdf:
|
|
7794
|
+
self.assert_downloaded_file(file_name, timeout=10)
|
|
7795
|
+
elif self.undetectable and just_opened:
|
|
7796
|
+
self.sleep(3)
|
|
7797
|
+
self.save_as_pdf(file_name, folder=downloads_folder)
|
|
7798
|
+
else:
|
|
7799
|
+
self.save_as_pdf(file_name, folder=downloads_folder)
|
|
7800
|
+
else:
|
|
7801
|
+
if not os.path.exists(file_path) or override:
|
|
7802
|
+
self.download_file(pdf)
|
|
7788
7803
|
else:
|
|
7789
7804
|
if not os.path.exists(pdf):
|
|
7790
7805
|
raise Exception("%s is not a valid URL or file path!" % pdf)
|
|
@@ -27,27 +27,25 @@ logger = logging.getLogger(__name__)
|
|
|
27
27
|
|
|
28
28
|
class Tab(Connection):
|
|
29
29
|
"""
|
|
30
|
-
:ref:`tab` is the controlling mechanism/connection to a
|
|
31
|
-
|
|
32
|
-
be an iframe, serviceworker or background script for example
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
:py:meth:`browser.get(..., new_window=True)`
|
|
36
|
-
Your url will open a new window. This window is a 'tab'.
|
|
30
|
+
:ref:`tab` is the controlling mechanism/connection to a `target`.
|
|
31
|
+
The `target` can be read as a `tab`, however, it could also
|
|
32
|
+
be an iframe, a serviceworker, or a background script (for example).
|
|
33
|
+
If you open a new window by using `browser.get(..., new_window=True)`,
|
|
34
|
+
your URL will open a new window. This window is a `tab`.
|
|
37
35
|
When you browse to another page, the tab will be the same (browser view).
|
|
38
|
-
It's important to keep some reference to tab objects
|
|
36
|
+
It's important to keep some reference to tab objects in case you're
|
|
39
37
|
done interacting with elements and want to operate on the page level again.
|
|
40
38
|
|
|
41
39
|
Custom CDP commands
|
|
42
40
|
---------------------------
|
|
43
41
|
Tab object provide many useful and often-used methods. It is also possible
|
|
44
|
-
to utilize the included
|
|
42
|
+
to utilize the included CDP classes to to something totally custom.
|
|
45
43
|
|
|
46
|
-
The
|
|
44
|
+
The CDP package is a set of so-called "domains" with each having methods,
|
|
47
45
|
events and types.
|
|
48
|
-
To send a
|
|
49
|
-
you'll have to check whether the method accepts any
|
|
50
|
-
and whether they are required or not.
|
|
46
|
+
To send a CDP method, for example `cdp.page.navigate`,
|
|
47
|
+
you'll have to check whether the method accepts any
|
|
48
|
+
parameters and whether they are required or not.
|
|
51
49
|
|
|
52
50
|
You can use:
|
|
53
51
|
|
|
@@ -936,7 +934,7 @@ class Tab(Connection):
|
|
|
936
934
|
return await self.set_window_state(state="minimize")
|
|
937
935
|
|
|
938
936
|
async def fullscreen(self):
|
|
939
|
-
"""
|
|
937
|
+
"""Fullscreen page/tab/window"""
|
|
940
938
|
return await self.set_window_state(state="fullscreen")
|
|
941
939
|
|
|
942
940
|
async def medimize(self):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seleniumbase
|
|
3
|
-
Version: 4.50.
|
|
3
|
+
Version: 4.50.4
|
|
4
4
|
Summary: SeleniumBase is a framework for web crawling, scraping, and testing. Supports pytest. CDP Mode adds stealth. Includes many tools.
|
|
5
5
|
Home-page: https://github.com/seleniumbase/SeleniumBase
|
|
6
6
|
Author: Michael Mintz
|
|
@@ -167,7 +167,7 @@ Requires-Dist: proxy.py==2.4.3; extra == "proxy"
|
|
|
167
167
|
Provides-Extra: playwright
|
|
168
168
|
Requires-Dist: playwright>=1.60.0; extra == "playwright"
|
|
169
169
|
Requires-Dist: greenlet>=3.2.5; python_version < "3.10" and extra == "playwright"
|
|
170
|
-
Requires-Dist: greenlet>=3.5.
|
|
170
|
+
Requires-Dist: greenlet>=3.5.3; python_version >= "3.10" and extra == "playwright"
|
|
171
171
|
Provides-Extra: pyautogui
|
|
172
172
|
Requires-Dist: PyAutoGUI>=0.9.54; platform_system != "Linux" and extra == "pyautogui"
|
|
173
173
|
Dynamic: author
|
|
@@ -949,6 +949,7 @@ pytest test_coffee_cart.py --trace
|
|
|
949
949
|
--brave # (Shortcut for "--browser=brave".)
|
|
950
950
|
--comet # (Shortcut for "--browser=comet".)
|
|
951
951
|
--atlas # (Shortcut for "--browser=atlas".)
|
|
952
|
+
--chromium # (Shortcut for using base `Chromium`)
|
|
952
953
|
--settings-file=FILE # (Override default SeleniumBase settings.)
|
|
953
954
|
--env=ENV # (Set the test env. Access with "self.env" in tests.)
|
|
954
955
|
--account=STR # (Set account. Access with "self.account" in tests.)
|
|
@@ -301,7 +301,7 @@ setup(
|
|
|
301
301
|
"playwright": [
|
|
302
302
|
'playwright>=1.60.0',
|
|
303
303
|
'greenlet>=3.2.5;python_version<"3.10"',
|
|
304
|
-
'greenlet>=3.5.
|
|
304
|
+
'greenlet>=3.5.3;python_version>="3.10"',
|
|
305
305
|
],
|
|
306
306
|
# pip install -e .[pyautogui]
|
|
307
307
|
# (Already a required dependency on Linux now.)
|
|
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.50.3 → seleniumbase-4.50.4}/seleniumbase/drivers/chromium_drivers/__init__.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
|
|
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.50.3 → seleniumbase-4.50.4}/seleniumbase/undetected/cdp_driver/_contradict.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.50.3 → seleniumbase-4.50.4}/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
|
{seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/grid_hub.py
RENAMED
|
File without changes
|
{seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/grid_node.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat
RENAMED
|
File without changes
|
{seleniumbase-4.50.3 → seleniumbase-4.50.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh
RENAMED
|
File without changes
|
|
File without changes
|
{seleniumbase-4.50.3 → seleniumbase-4.50.4}/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
|