seleniumbase 4.24.11__py3-none-any.whl → 4.24.12__py3-none-any.whl
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/__version__.py +1 -1
- seleniumbase/config/proxy_list.py +3 -3
- seleniumbase/core/browser_launcher.py +21 -12
- seleniumbase/fixtures/base_case.py +1 -21
- seleniumbase/fixtures/constants.py +1 -1
- seleniumbase/fixtures/js_utils.py +39 -0
- seleniumbase/undetected/webelement.py +10 -3
- {seleniumbase-4.24.11.dist-info → seleniumbase-4.24.12.dist-info}/METADATA +2 -2
- {seleniumbase-4.24.11.dist-info → seleniumbase-4.24.12.dist-info}/RECORD +13 -13
- {seleniumbase-4.24.11.dist-info → seleniumbase-4.24.12.dist-info}/LICENSE +0 -0
- {seleniumbase-4.24.11.dist-info → seleniumbase-4.24.12.dist-info}/WHEEL +0 -0
- {seleniumbase-4.24.11.dist-info → seleniumbase-4.24.12.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.24.11.dist-info → seleniumbase-4.24.12.dist-info}/top_level.txt +0 -0
seleniumbase/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.24.
|
2
|
+
__version__ = "4.24.12"
|
@@ -23,9 +23,9 @@ you can try finding one from one of following sites:
|
|
23
23
|
"""
|
24
24
|
|
25
25
|
PROXY_LIST = {
|
26
|
-
"example1": "
|
27
|
-
"example2": "
|
28
|
-
"example3": "socks5://
|
26
|
+
"example1": "35.185.196.38:3128", # (Example) - set your own proxy here
|
27
|
+
"example2": "129.80.134.71:3128", # (Example)
|
28
|
+
"example3": "socks5://184.178.172.5:15303", # (Example)
|
29
29
|
"proxy1": None,
|
30
30
|
"proxy2": None,
|
31
31
|
"proxy3": None,
|
@@ -463,11 +463,16 @@ def uc_click(
|
|
463
463
|
except Exception:
|
464
464
|
pass
|
465
465
|
element = driver.wait_for_selector(selector, by=by, timeout=timeout)
|
466
|
-
|
466
|
+
tag_name = element.tag_name
|
467
|
+
if not tag_name == "span": # Element must be "visible"
|
467
468
|
element = driver.wait_for_element(selector, by=by, timeout=timeout)
|
468
469
|
try:
|
469
470
|
element.uc_click(
|
470
|
-
driver,
|
471
|
+
driver,
|
472
|
+
selector,
|
473
|
+
by=by,
|
474
|
+
reconnect_time=reconnect_time,
|
475
|
+
tag_name=tag_name,
|
471
476
|
)
|
472
477
|
except ElementClickInterceptedException:
|
473
478
|
time.sleep(0.16)
|
@@ -812,11 +817,12 @@ def _set_chrome_options(
|
|
812
817
|
chrome_options = webdriver.edge.options.Options()
|
813
818
|
prefs = {}
|
814
819
|
prefs["download.default_directory"] = downloads_path
|
815
|
-
prefs["local_discovery.notifications_enabled"] = False
|
816
|
-
prefs["credentials_enable_service"] = False
|
817
|
-
prefs["download.prompt_for_download"] = False
|
818
820
|
prefs["download.directory_upgrade"] = True
|
821
|
+
prefs["download.prompt_for_download"] = False
|
822
|
+
prefs["credentials_enable_service"] = False
|
823
|
+
prefs["local_discovery.notifications_enabled"] = False
|
819
824
|
prefs["safebrowsing.enabled"] = False
|
825
|
+
prefs["safebrowsing.disable_download_protection"] = True
|
820
826
|
prefs["omnibox-max-zero-suggest-matches"] = 0
|
821
827
|
prefs["omnibox-use-existing-autocomplete-client"] = 0
|
822
828
|
prefs["omnibox-trending-zero-prefix-suggestions-on-ntp"] = 0
|
@@ -827,9 +833,8 @@ def _set_chrome_options(
|
|
827
833
|
prefs["omnibox-zero-suggest-prefetching-on-srp"] = 0
|
828
834
|
prefs["omnibox-zero-suggest-prefetching-on-web"] = 0
|
829
835
|
prefs["omnibox-zero-suggest-in-memory-caching"] = 0
|
830
|
-
prefs["default_content_setting_values.notifications"] = 0
|
831
836
|
prefs["content_settings.exceptions.automatic_downloads.*.setting"] = 1
|
832
|
-
prefs["
|
837
|
+
prefs["default_content_setting_values.notifications"] = 0
|
833
838
|
prefs["default_content_settings.popups"] = 0
|
834
839
|
prefs["managed_default_content_settings.popups"] = 0
|
835
840
|
prefs["profile.password_manager_enabled"] = False
|
@@ -1142,6 +1147,7 @@ def _set_chrome_options(
|
|
1142
1147
|
included_disabled_features.append("PrivacySandboxSettings4")
|
1143
1148
|
included_disabled_features.append("DownloadBubble")
|
1144
1149
|
included_disabled_features.append("DownloadBubbleV2")
|
1150
|
+
included_disabled_features.append("InsecureDownloadWarnings")
|
1145
1151
|
for item in extra_disabled_features:
|
1146
1152
|
if item not in included_disabled_features:
|
1147
1153
|
included_disabled_features.append(item)
|
@@ -1153,6 +1159,7 @@ def _set_chrome_options(
|
|
1153
1159
|
included_disabled_features.append("OptimizationTargetPrediction")
|
1154
1160
|
included_disabled_features.append("DownloadBubble")
|
1155
1161
|
included_disabled_features.append("DownloadBubbleV2")
|
1162
|
+
included_disabled_features.append("InsecureDownloadWarnings")
|
1156
1163
|
for item in extra_disabled_features:
|
1157
1164
|
if item not in included_disabled_features:
|
1158
1165
|
included_disabled_features.append(item)
|
@@ -2367,10 +2374,11 @@ def get_local_driver(
|
|
2367
2374
|
elif browser_name == constants.Browser.EDGE:
|
2368
2375
|
prefs = {
|
2369
2376
|
"download.default_directory": downloads_path,
|
2370
|
-
"local_discovery.notifications_enabled": False,
|
2371
|
-
"credentials_enable_service": False,
|
2372
|
-
"download.prompt_for_download": False,
|
2373
2377
|
"download.directory_upgrade": True,
|
2378
|
+
"download.prompt_for_download": False,
|
2379
|
+
"credentials_enable_service": False,
|
2380
|
+
"local_discovery.notifications_enabled": False,
|
2381
|
+
"safebrowsing.disable_download_protection": True,
|
2374
2382
|
"safebrowsing.enabled": False,
|
2375
2383
|
"omnibox-max-zero-suggest-matches": 0,
|
2376
2384
|
"omnibox-use-existing-autocomplete-client": 0,
|
@@ -2382,11 +2390,10 @@ def get_local_driver(
|
|
2382
2390
|
"omnibox-zero-suggest-prefetching-on-srp": 0,
|
2383
2391
|
"omnibox-zero-suggest-prefetching-on-web": 0,
|
2384
2392
|
"omnibox-zero-suggest-in-memory-caching": 0,
|
2385
|
-
"
|
2393
|
+
"content_settings.exceptions.automatic_downloads.*.setting": 1,
|
2386
2394
|
"default_content_setting_values.notifications": 0,
|
2387
2395
|
"default_content_settings.popups": 0,
|
2388
2396
|
"managed_default_content_settings.popups": 0,
|
2389
|
-
"content_settings.exceptions.automatic_downloads.*.setting": 1,
|
2390
2397
|
"profile.password_manager_enabled": False,
|
2391
2398
|
"profile.default_content_setting_values.notifications": 2,
|
2392
2399
|
"profile.default_content_settings.popups": 0,
|
@@ -2772,6 +2779,7 @@ def get_local_driver(
|
|
2772
2779
|
included_disabled_features.append("Translate")
|
2773
2780
|
included_disabled_features.append("OptimizationTargetPrediction")
|
2774
2781
|
included_disabled_features.append("PrivacySandboxSettings4")
|
2782
|
+
included_disabled_features.append("InsecureDownloadWarnings")
|
2775
2783
|
for item in extra_disabled_features:
|
2776
2784
|
if item not in included_disabled_features:
|
2777
2785
|
included_disabled_features.append(item)
|
@@ -2781,6 +2789,7 @@ def get_local_driver(
|
|
2781
2789
|
included_disabled_features.append("OptimizationHintsFetching")
|
2782
2790
|
included_disabled_features.append("Translate")
|
2783
2791
|
included_disabled_features.append("OptimizationTargetPrediction")
|
2792
|
+
included_disabled_features.append("InsecureDownloadWarnings")
|
2784
2793
|
for item in extra_disabled_features:
|
2785
2794
|
if item not in included_disabled_features:
|
2786
2795
|
included_disabled_features.append(item)
|
@@ -7876,27 +7876,7 @@ class BaseCase(unittest.TestCase):
|
|
7876
7876
|
jQuery commands require a CSS_SELECTOR for finding elements.
|
7877
7877
|
This method should only be used for jQuery/JavaScript actions.
|
7878
7878
|
Pure JavaScript doesn't support using a:contains("LINK_TEXT")."""
|
7879
|
-
|
7880
|
-
return selector
|
7881
|
-
elif by == By.ID:
|
7882
|
-
return "#%s" % selector
|
7883
|
-
elif by == By.CLASS_NAME:
|
7884
|
-
return ".%s" % selector
|
7885
|
-
elif by == By.NAME:
|
7886
|
-
return '[name="%s"]' % selector
|
7887
|
-
elif by == By.TAG_NAME:
|
7888
|
-
return selector
|
7889
|
-
elif by == By.XPATH:
|
7890
|
-
return self.convert_xpath_to_css(selector)
|
7891
|
-
elif by == By.LINK_TEXT:
|
7892
|
-
return 'a:contains("%s")' % selector
|
7893
|
-
elif by == By.PARTIAL_LINK_TEXT:
|
7894
|
-
return 'a:contains("%s")' % selector
|
7895
|
-
else:
|
7896
|
-
raise Exception(
|
7897
|
-
"Exception: Could not convert {%s}(by=%s) to CSS_SELECTOR!"
|
7898
|
-
% (selector, by)
|
7899
|
-
)
|
7879
|
+
return js_utils.convert_to_css_selector(selector, by)
|
7900
7880
|
|
7901
7881
|
def set_value(
|
7902
7882
|
self, selector, text, by="css selector", timeout=None, scroll=True
|
@@ -4,10 +4,12 @@ import requests
|
|
4
4
|
import time
|
5
5
|
from selenium.common.exceptions import NoSuchElementException
|
6
6
|
from selenium.common.exceptions import WebDriverException
|
7
|
+
from selenium.webdriver.common.by import By
|
7
8
|
from seleniumbase import config as sb_config
|
8
9
|
from seleniumbase.config import settings
|
9
10
|
from seleniumbase.fixtures import constants
|
10
11
|
from seleniumbase.fixtures import css_to_xpath
|
12
|
+
from seleniumbase.fixtures import xpath_to_css
|
11
13
|
|
12
14
|
|
13
15
|
def wait_for_ready_state_complete(driver, timeout=settings.LARGE_TIMEOUT):
|
@@ -93,6 +95,37 @@ def wait_for_angularjs(driver, timeout=settings.LARGE_TIMEOUT, **kwargs):
|
|
93
95
|
time.sleep(0.05)
|
94
96
|
|
95
97
|
|
98
|
+
def convert_to_css_selector(selector, by=By.CSS_SELECTOR):
|
99
|
+
if by == By.CSS_SELECTOR:
|
100
|
+
return selector
|
101
|
+
elif by == By.ID:
|
102
|
+
return "#%s" % selector
|
103
|
+
elif by == By.CLASS_NAME:
|
104
|
+
return ".%s" % selector
|
105
|
+
elif by == By.NAME:
|
106
|
+
return '[name="%s"]' % selector
|
107
|
+
elif by == By.TAG_NAME:
|
108
|
+
return selector
|
109
|
+
elif (
|
110
|
+
by == By.XPATH
|
111
|
+
or (
|
112
|
+
selector.startswith("/")
|
113
|
+
or selector.startswith("./")
|
114
|
+
or selector.startswith("(")
|
115
|
+
)
|
116
|
+
):
|
117
|
+
return xpath_to_css.convert_xpath_to_css(selector)
|
118
|
+
elif by == By.LINK_TEXT:
|
119
|
+
return 'a:contains("%s")' % selector
|
120
|
+
elif by == By.PARTIAL_LINK_TEXT:
|
121
|
+
return 'a:contains("%s")' % selector
|
122
|
+
else:
|
123
|
+
raise Exception(
|
124
|
+
"Exception: Could not convert {%s}(by=%s) to CSS_SELECTOR!"
|
125
|
+
% (selector, by)
|
126
|
+
)
|
127
|
+
|
128
|
+
|
96
129
|
def is_html_inspector_activated(driver):
|
97
130
|
try:
|
98
131
|
driver.execute_script("HTMLInspector;") # Fails if not defined
|
@@ -325,6 +358,12 @@ def swap_selector_and_by_if_reversed(selector, by):
|
|
325
358
|
return (selector, by)
|
326
359
|
|
327
360
|
|
361
|
+
def call_me_later(driver, script, ms):
|
362
|
+
"""Call script after ms passed."""
|
363
|
+
call = "function() {%s}" % script
|
364
|
+
driver.execute_script("window.setTimeout(%s, %s);" % (call, ms))
|
365
|
+
|
366
|
+
|
328
367
|
def highlight(driver, selector, by="css selector", loops=4):
|
329
368
|
"""For driver.highlight() / driver.page.highlight()"""
|
330
369
|
swap_selector_and_by_if_reversed(selector, by)
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import selenium.webdriver.remote.webelement
|
2
|
+
from seleniumbase.fixtures import js_utils
|
2
3
|
|
3
4
|
|
4
5
|
class WebElement(selenium.webdriver.remote.webelement.WebElement):
|
@@ -8,18 +9,24 @@ class WebElement(selenium.webdriver.remote.webelement.WebElement):
|
|
8
9
|
selector=None,
|
9
10
|
by=None,
|
10
11
|
reconnect_time=None,
|
12
|
+
tag_name=None,
|
11
13
|
):
|
12
14
|
if driver and selector and by:
|
13
|
-
|
15
|
+
if tag_name == "span" and ":contains" not in selector:
|
16
|
+
selector = js_utils.convert_to_css_selector(selector, by)
|
17
|
+
script = 'document.querySelector("%s").click();' % selector
|
18
|
+
js_utils.call_me_later(driver, script, 111)
|
19
|
+
else:
|
20
|
+
driver.js_click(selector, by=by, timeout=1)
|
14
21
|
else:
|
15
22
|
super().click()
|
16
23
|
if not reconnect_time:
|
17
|
-
self._parent.reconnect(0.
|
24
|
+
self._parent.reconnect(0.5)
|
18
25
|
else:
|
19
26
|
self._parent.reconnect(reconnect_time)
|
20
27
|
|
21
28
|
def uc_reconnect(self, reconnect_time=None):
|
22
29
|
if not reconnect_time:
|
23
|
-
self._parent.reconnect(0.
|
30
|
+
self._parent.reconnect(0.2)
|
24
31
|
else:
|
25
32
|
self._parent.reconnect(reconnect_time)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.24.
|
3
|
+
Version: 4.24.12
|
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
|
@@ -117,7 +117,7 @@ Requires-Dist: wheel >=0.43.0 ; python_version >= "3.8"
|
|
117
117
|
Requires-Dist: filelock >=3.13.1 ; python_version >= "3.8"
|
118
118
|
Requires-Dist: platformdirs >=4.2.0 ; python_version >= "3.8"
|
119
119
|
Requires-Dist: typing-extensions >=4.10.0 ; python_version >= "3.8"
|
120
|
-
Requires-Dist: trio ==0.
|
120
|
+
Requires-Dist: trio ==0.25.0 ; python_version >= "3.8"
|
121
121
|
Requires-Dist: selenium ==4.18.1 ; python_version >= "3.8"
|
122
122
|
Requires-Dist: pluggy ==1.4.0 ; python_version >= "3.8"
|
123
123
|
Requires-Dist: pytest ==8.1.1 ; python_version >= "3.8"
|
@@ -5,7 +5,7 @@ sbase/steps.py,sha256=bKT_u5bJkKzYWEuAXi9NVVRYYxQRCM1_YJUrNFFRVPY,42865
|
|
5
5
|
seleniumbase/ReadMe.md,sha256=4nEdto4d0Ch0Zneg0yAC-RBBdqRqPUP0SCo-ze_XDPM,3612
|
6
6
|
seleniumbase/__init__.py,sha256=Mw4ShIWUF2Efjx-JuwUQLWF9nIbxcX-vu9AOGBp32ec,2123
|
7
7
|
seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
|
8
|
-
seleniumbase/__version__.py,sha256=
|
8
|
+
seleniumbase/__version__.py,sha256=FuNHCSUIfCBcrG981EXrZolshvrop3RCSGjpD9rSLYs,47
|
9
9
|
seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
10
|
seleniumbase/behave/behave_helper.py,sha256=elkl8P9eLulRAioLstE9baYNM9N_PHBmAOcajX-pH_Y,24198
|
11
11
|
seleniumbase/behave/behave_sb.py,sha256=rpSKGufjzKeoiTqsr1HChNu1fY68CMirr5mgff--LHs,56291
|
@@ -19,7 +19,7 @@ seleniumbase/common/obfuscate.py,sha256=VrwPbVigPH_Jk6ADCk5_miMoq1VK4M9SKnYScDkk
|
|
19
19
|
seleniumbase/common/unobfuscate.py,sha256=MgP6MMT9Wam6ECFVIA84WsQczfl_dFiumFu9m3eXFDg,771
|
20
20
|
seleniumbase/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
21
|
seleniumbase/config/ad_block_list.py,sha256=qCQvbpONdSXk6q5tMwLuOswGYE1Syd8cy5TMIYFjTME,3380
|
22
|
-
seleniumbase/config/proxy_list.py,sha256=
|
22
|
+
seleniumbase/config/proxy_list.py,sha256=tSdk82_6pPqClotHMl3YOTlxi9IIEppHmCoQDkZXLqw,1123
|
23
23
|
seleniumbase/config/settings.py,sha256=n07U3PrrTgXgg5S1DIGnRuR6Y7AW11y06lvkflD7ZuE,7708
|
24
24
|
seleniumbase/console_scripts/ReadMe.md,sha256=edWzZCdEpLaUSkzeasVq990ONVPWQSi-F0Y9ZWY5Xuw,20160
|
25
25
|
seleniumbase/console_scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -40,7 +40,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=yo641b_OdSE0GUauOyxk-QrNeIjYzbRY
|
|
40
40
|
seleniumbase/console_scripts/sb_recorder.py,sha256=2QQov64Erfnm1hnVleKX-c_llcsO6hhJKKxzcANcix0,10904
|
41
41
|
seleniumbase/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
42
42
|
seleniumbase/core/application_manager.py,sha256=e_0sjtI8cjY5BNyZj1QBR0j6_oCScxGmSXYEpcYwuZE,576
|
43
|
-
seleniumbase/core/browser_launcher.py,sha256=
|
43
|
+
seleniumbase/core/browser_launcher.py,sha256=Z6bN8sXna7vSyzOtLqK3G5bv0C_PTSxZQiJ_Ggw33Ak,165803
|
44
44
|
seleniumbase/core/capabilities_parser.py,sha256=meIS2uHapTCq2ldfNAToC7r0cKmZDRXuYNKExM1GHDY,6038
|
45
45
|
seleniumbase/core/colored_traceback.py,sha256=DrRWfg7XEnKcgY59Xj7Jdk09H-XqHYBSUpB-DiZt6iY,2020
|
46
46
|
seleniumbase/core/create_db_tables.sql,sha256=VWPtrdiW_HQ6yETHjqTu-VIrTwvd8I8o1NfBeaVSHpU,972
|
@@ -70,11 +70,11 @@ seleniumbase/extensions/disable_csp.zip,sha256=YMifIIgEBiLrEFrS1sfW4Exh4br1V4oK1
|
|
70
70
|
seleniumbase/extensions/recorder.zip,sha256=dE3-vt1lsIyMbz3MD0WboizA5KiR3SH2jxAMrC0T_cU,11908
|
71
71
|
seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
|
72
72
|
seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
73
|
-
seleniumbase/fixtures/base_case.py,sha256=
|
74
|
-
seleniumbase/fixtures/constants.py,sha256=
|
73
|
+
seleniumbase/fixtures/base_case.py,sha256=3mqQFcrMnT6-AEWuUnCxn4uAX-EAipCJhhiH8I_5XpE,686935
|
74
|
+
seleniumbase/fixtures/constants.py,sha256=Uvr5-Z8ZfiE2-lIqJS1CQ0tkmQ6qJYooCOTo_HMleo4,13348
|
75
75
|
seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
|
76
76
|
seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
|
77
|
-
seleniumbase/fixtures/js_utils.py,sha256=
|
77
|
+
seleniumbase/fixtures/js_utils.py,sha256=y1FgWvrg7CjryqGnFhbmFIIVYMzQfYZhwppYae87UCo,51158
|
78
78
|
seleniumbase/fixtures/page_actions.py,sha256=s9Tf7sR7HWNQw0riBXuLqThe1HctQWqJIXCLJnnTF4k,61496
|
79
79
|
seleniumbase/fixtures/page_utils.py,sha256=QmAvTlT0j0ESf1IgvyXwHJapJakFM7QqBLXnHXgaeJw,12596
|
80
80
|
seleniumbase/fixtures/shared_utils.py,sha256=9VgFvodh0-3GeGbj5wvWOaG4fLpwmgWkrvIKQ89KMvE,5748
|
@@ -120,7 +120,7 @@ seleniumbase/undetected/dprocess.py,sha256=WWQ_X_-Q7Lfx1m6oxkYHU0eTIc76Jodph4n1Q
|
|
120
120
|
seleniumbase/undetected/options.py,sha256=SGuz8iqlVPYN7IexNiGauupWF0xP3mqO72-9tgIqeuI,2999
|
121
121
|
seleniumbase/undetected/patcher.py,sha256=u8X3uFBCTJ4XcU09AWpbDyPc-dm2LM-YeuciCp5AEdM,10853
|
122
122
|
seleniumbase/undetected/reactor.py,sha256=UT1pEnGaTPZT7-0-xKROk9_eWDZueGzSUrCksc22nyA,2883
|
123
|
-
seleniumbase/undetected/webelement.py,sha256=
|
123
|
+
seleniumbase/undetected/webelement.py,sha256=5T-T14G3C5ZS9wXdcvFeHpBgFfdAE10heR1vk0iqF9Y,1098
|
124
124
|
seleniumbase/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
125
125
|
seleniumbase/utilities/selenium_grid/ReadMe.md,sha256=Uqvn4KmhaMY_jrhcsxL2WptCukPq1J3Yz-9WenCXEu0,3599
|
126
126
|
seleniumbase/utilities/selenium_grid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -137,9 +137,9 @@ seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443
|
|
137
137
|
seleniumbase/utilities/selenium_ide/ReadMe.md,sha256=hznGeuMpkIimqMiZBW-4goIy2ltW4l8X9kb0YSPUQfE,4483
|
138
138
|
seleniumbase/utilities/selenium_ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
139
139
|
seleniumbase/utilities/selenium_ide/convert_ide.py,sha256=pZFnqEJQEKZPyNFjkLD29s2HPQgCrWW9XJWpCPhWOoM,31691
|
140
|
-
seleniumbase-4.24.
|
141
|
-
seleniumbase-4.24.
|
142
|
-
seleniumbase-4.24.
|
143
|
-
seleniumbase-4.24.
|
144
|
-
seleniumbase-4.24.
|
145
|
-
seleniumbase-4.24.
|
140
|
+
seleniumbase-4.24.12.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
|
141
|
+
seleniumbase-4.24.12.dist-info/METADATA,sha256=hdWtYKRDJO0nlGq2VzdgQumopamp7fVqUTvdUBHqCuw,83872
|
142
|
+
seleniumbase-4.24.12.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
143
|
+
seleniumbase-4.24.12.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
144
|
+
seleniumbase-4.24.12.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
145
|
+
seleniumbase-4.24.12.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|