seleniumbase 4.24.12__py3-none-any.whl → 4.25.1__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/core/browser_launcher.py +12 -7
- seleniumbase/fixtures/base_case.py +49 -18
- seleniumbase/undetected/webelement.py +4 -1
- {seleniumbase-4.24.12.dist-info → seleniumbase-4.25.1.dist-info}/METADATA +17 -14
- {seleniumbase-4.24.12.dist-info → seleniumbase-4.25.1.dist-info}/RECORD +10 -10
- {seleniumbase-4.24.12.dist-info → seleniumbase-4.25.1.dist-info}/LICENSE +0 -0
- {seleniumbase-4.24.12.dist-info → seleniumbase-4.25.1.dist-info}/WHEEL +0 -0
- {seleniumbase-4.24.12.dist-info → seleniumbase-4.25.1.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.24.12.dist-info → seleniumbase-4.25.1.dist-info}/top_level.txt +0 -0
seleniumbase/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.
|
2
|
+
__version__ = "4.25.1"
|
@@ -27,6 +27,7 @@ from seleniumbase.core import download_helper
|
|
27
27
|
from seleniumbase.core import proxy_helper
|
28
28
|
from seleniumbase.core import sb_driver
|
29
29
|
from seleniumbase.fixtures import constants
|
30
|
+
from seleniumbase.fixtures import js_utils
|
30
31
|
from seleniumbase.fixtures import shared_utils
|
31
32
|
|
32
33
|
urllib3.disable_warnings()
|
@@ -406,9 +407,9 @@ def uc_open(driver, url):
|
|
406
407
|
elif ":" not in url:
|
407
408
|
url = "https://" + url
|
408
409
|
if (url.startswith("http:") or url.startswith("https:")):
|
409
|
-
time.sleep(0.05)
|
410
410
|
with driver:
|
411
|
-
|
411
|
+
script = 'window.location.href = "%s";' % url
|
412
|
+
js_utils.call_me_later(driver, script, 33)
|
412
413
|
else:
|
413
414
|
driver.default_get(url) # The original one
|
414
415
|
return None
|
@@ -420,7 +421,6 @@ def uc_open_with_tab(driver, url):
|
|
420
421
|
elif ":" not in url:
|
421
422
|
url = "https://" + url
|
422
423
|
if (url.startswith("http:") or url.startswith("https:")):
|
423
|
-
time.sleep(0.05)
|
424
424
|
with driver:
|
425
425
|
driver.execute_script('window.open("%s","_blank");' % url)
|
426
426
|
driver.close()
|
@@ -439,7 +439,9 @@ def uc_open_with_reconnect(driver, url, reconnect_time=None):
|
|
439
439
|
elif ":" not in url:
|
440
440
|
url = "https://" + url
|
441
441
|
if (url.startswith("http:") or url.startswith("https:")):
|
442
|
-
|
442
|
+
script = 'window.open("%s","_blank");' % url
|
443
|
+
js_utils.call_me_later(driver, script, 3)
|
444
|
+
time.sleep(0.007)
|
443
445
|
driver.close()
|
444
446
|
driver.reconnect(reconnect_time)
|
445
447
|
driver.switch_to.window(driver.window_handles[-1])
|
@@ -3878,7 +3880,7 @@ def get_local_driver(
|
|
3878
3880
|
service=service, options=chrome_options
|
3879
3881
|
)
|
3880
3882
|
return extend_driver(driver)
|
3881
|
-
except Exception:
|
3883
|
+
except Exception as original_exception:
|
3882
3884
|
if is_using_uc(undetectable, browser_name):
|
3883
3885
|
raise
|
3884
3886
|
# Try again if Chrome didn't launch
|
@@ -3914,8 +3916,11 @@ def get_local_driver(
|
|
3914
3916
|
log_output=os.devnull,
|
3915
3917
|
service_args=["--disable-build-check"]
|
3916
3918
|
)
|
3917
|
-
|
3918
|
-
|
3919
|
+
try:
|
3920
|
+
driver = webdriver.Chrome(service=service)
|
3921
|
+
return extend_driver(driver)
|
3922
|
+
except Exception:
|
3923
|
+
raise original_exception
|
3919
3924
|
else:
|
3920
3925
|
raise Exception(
|
3921
3926
|
"%s is not a valid browser option for this system!" % browser_name
|
@@ -4308,25 +4308,8 @@ class BaseCase(unittest.TestCase):
|
|
4308
4308
|
|
4309
4309
|
def load_cookies(self, name="cookies.txt"):
|
4310
4310
|
"""Loads the page cookies from the "saved_cookies" folder."""
|
4311
|
+
cookies = self.get_saved_cookies(name)
|
4311
4312
|
self.wait_for_ready_state_complete()
|
4312
|
-
if name.endswith("/"):
|
4313
|
-
raise Exception("Invalid filename for Cookies!")
|
4314
|
-
if "/" in name:
|
4315
|
-
name = name.split("/")[-1]
|
4316
|
-
if "\\" in name:
|
4317
|
-
name = name.split("\\")[-1]
|
4318
|
-
if len(name) < 1:
|
4319
|
-
raise Exception("Filename for Cookies is too short!")
|
4320
|
-
if not name.endswith(".txt"):
|
4321
|
-
name = name + ".txt"
|
4322
|
-
folder = constants.SavedCookies.STORAGE_FOLDER
|
4323
|
-
abs_path = os.path.abspath(".")
|
4324
|
-
file_path = os.path.join(abs_path, folder)
|
4325
|
-
cookies_file_path = os.path.join(file_path, name)
|
4326
|
-
json_cookies = None
|
4327
|
-
with open(cookies_file_path, "r") as f:
|
4328
|
-
json_cookies = f.read().strip()
|
4329
|
-
cookies = json.loads(json_cookies)
|
4330
4313
|
for cookie in cookies:
|
4331
4314
|
if "expiry" in cookie:
|
4332
4315
|
del cookie["expiry"]
|
@@ -4363,6 +4346,46 @@ class BaseCase(unittest.TestCase):
|
|
4363
4346
|
if cookies_file_path.endswith(".txt"):
|
4364
4347
|
os.remove(cookies_file_path)
|
4365
4348
|
|
4349
|
+
def get_saved_cookies(self, name="cookies.txt"):
|
4350
|
+
"""Gets the page cookies from the "saved_cookies" folder."""
|
4351
|
+
if name.endswith("/"):
|
4352
|
+
raise Exception("Invalid filename for Cookies!")
|
4353
|
+
if "/" in name:
|
4354
|
+
name = name.split("/")[-1]
|
4355
|
+
if "\\" in name:
|
4356
|
+
name = name.split("\\")[-1]
|
4357
|
+
if len(name) < 1:
|
4358
|
+
raise Exception("Filename for Cookies is too short!")
|
4359
|
+
if not name.endswith(".txt"):
|
4360
|
+
name = name + ".txt"
|
4361
|
+
folder = constants.SavedCookies.STORAGE_FOLDER
|
4362
|
+
abs_path = os.path.abspath(".")
|
4363
|
+
file_path = os.path.join(abs_path, folder)
|
4364
|
+
cookies_file_path = os.path.join(file_path, name)
|
4365
|
+
json_cookies = None
|
4366
|
+
with open(cookies_file_path, "r") as f:
|
4367
|
+
json_cookies = f.read().strip()
|
4368
|
+
return json.loads(json_cookies)
|
4369
|
+
|
4370
|
+
def get_cookie(self, name):
|
4371
|
+
return self.driver.get_cookie(name)
|
4372
|
+
|
4373
|
+
def get_cookies(self):
|
4374
|
+
return self.driver.get_cookies()
|
4375
|
+
|
4376
|
+
def add_cookie(self, cookie_dict):
|
4377
|
+
"""Usage examples:
|
4378
|
+
self.add_cookie({'name': 'foo', 'value': 'bar'})
|
4379
|
+
self.add_cookie({'name': 'foo', 'value': 'bar', 'path': '/'})
|
4380
|
+
self.add_cookie({'name': 'foo', 'value': 'bar', 'secure': True})
|
4381
|
+
self.add_cookie({'name': 'foo', 'value': 'bar', 'sameSite': 'Strict'})
|
4382
|
+
"""
|
4383
|
+
self.driver.add_cookie(cookie_dict)
|
4384
|
+
|
4385
|
+
def add_cookies(self, cookies):
|
4386
|
+
for cookie_dict in cookies:
|
4387
|
+
self.driver.add_cookie(cookie_dict)
|
4388
|
+
|
4366
4389
|
def wait_for_ready_state_complete(self, timeout=None):
|
4367
4390
|
"""Waits for the "readyState" of the page to be "complete".
|
4368
4391
|
Returns True when the method completes."""
|
@@ -8718,6 +8741,14 @@ class BaseCase(unittest.TestCase):
|
|
8718
8741
|
"""Same as self.delete_all_cookies()"""
|
8719
8742
|
self.delete_all_cookies()
|
8720
8743
|
|
8744
|
+
def delete_local_storage(self):
|
8745
|
+
"""Same as self.clear_local_storage()"""
|
8746
|
+
self.clear_local_storage()
|
8747
|
+
|
8748
|
+
def delete_session_storage(self):
|
8749
|
+
"""Same as clear_session_storage()"""
|
8750
|
+
self.clear_session_storage()
|
8751
|
+
|
8721
8752
|
def assert_no_broken_links(self, multithreaded=True):
|
8722
8753
|
"""Same as self.assert_no_404_errors()"""
|
8723
8754
|
self.assert_no_404_errors(multithreaded=multithreaded)
|
@@ -12,7 +12,10 @@ class WebElement(selenium.webdriver.remote.webelement.WebElement):
|
|
12
12
|
tag_name=None,
|
13
13
|
):
|
14
14
|
if driver and selector and by:
|
15
|
-
|
15
|
+
delayed_click = False
|
16
|
+
if tag_name == "span" or tag_name == "button" or tag_name == "div":
|
17
|
+
delayed_click = True
|
18
|
+
if delayed_click and ":contains" not in selector:
|
16
19
|
selector = js_utils.convert_to_css_selector(selector, by)
|
17
20
|
script = 'document.querySelector("%s").click();' % selector
|
18
21
|
js_utils.call_me_later(driver, script, 111)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.
|
3
|
+
Version: 4.25.1
|
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
|
@@ -70,7 +70,7 @@ Requires-Dist: idna ==3.6
|
|
70
70
|
Requires-Dist: chardet ==5.2.0
|
71
71
|
Requires-Dist: charset-normalizer ==3.3.2
|
72
72
|
Requires-Dist: requests ==2.31.0
|
73
|
-
Requires-Dist: pynose ==1.5.
|
73
|
+
Requires-Dist: pynose ==1.5.1
|
74
74
|
Requires-Dist: sniffio ==1.3.1
|
75
75
|
Requires-Dist: h11 ==0.14.0
|
76
76
|
Requires-Dist: outcome ==1.3.0.post0
|
@@ -114,11 +114,11 @@ Requires-Dist: markdown-it-py ==2.2.0 ; python_version < "3.8"
|
|
114
114
|
Requires-Dist: urllib3 <2.3.0,>=1.26.18 ; python_version >= "3.10"
|
115
115
|
Requires-Dist: setuptools >=69.2.0 ; python_version >= "3.8"
|
116
116
|
Requires-Dist: wheel >=0.43.0 ; python_version >= "3.8"
|
117
|
-
Requires-Dist: filelock >=3.13.
|
117
|
+
Requires-Dist: filelock >=3.13.3 ; 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
120
|
Requires-Dist: trio ==0.25.0 ; python_version >= "3.8"
|
121
|
-
Requires-Dist: selenium ==4.
|
121
|
+
Requires-Dist: selenium ==4.19.0 ; 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"
|
124
124
|
Requires-Dist: pytest-metadata ==3.1.1 ; python_version >= "3.8"
|
@@ -126,13 +126,14 @@ Requires-Dist: pytest-rerunfailures ==14.0 ; python_version >= "3.8"
|
|
126
126
|
Requires-Dist: soupsieve ==2.5 ; python_version >= "3.8"
|
127
127
|
Requires-Dist: markdown-it-py ==3.0.0 ; python_version >= "3.8"
|
128
128
|
Provides-Extra: allure
|
129
|
-
Requires-Dist: allure-pytest
|
130
|
-
Requires-Dist: allure-python-commons
|
131
|
-
Requires-Dist: allure-behave
|
129
|
+
Requires-Dist: allure-pytest >=2.13.5 ; extra == 'allure'
|
130
|
+
Requires-Dist: allure-python-commons >=2.13.5 ; extra == 'allure'
|
131
|
+
Requires-Dist: allure-behave >=2.13.5 ; extra == 'allure'
|
132
132
|
Provides-Extra: coverage
|
133
|
-
Requires-Dist: pytest-cov ==4.1.0 ; extra == 'coverage'
|
134
133
|
Requires-Dist: coverage ==7.2.7 ; (python_version < "3.8") and extra == 'coverage'
|
135
|
-
Requires-Dist:
|
134
|
+
Requires-Dist: pytest-cov ==4.1.0 ; (python_version < "3.8") and extra == 'coverage'
|
135
|
+
Requires-Dist: coverage >=7.4.4 ; (python_version >= "3.8") and extra == 'coverage'
|
136
|
+
Requires-Dist: pytest-cov >=5.0.0 ; (python_version >= "3.8") and extra == 'coverage'
|
136
137
|
Provides-Extra: flake8
|
137
138
|
Requires-Dist: mccabe ==0.7.0 ; extra == 'flake8'
|
138
139
|
Requires-Dist: flake8 ==5.0.4 ; (python_version < "3.9") and extra == 'flake8'
|
@@ -145,7 +146,7 @@ Provides-Extra: ipdb
|
|
145
146
|
Requires-Dist: ipdb ==0.13.13 ; extra == 'ipdb'
|
146
147
|
Requires-Dist: ipython ==7.34.0 ; extra == 'ipdb'
|
147
148
|
Provides-Extra: pdfminer
|
148
|
-
Requires-Dist: pycparser ==2.
|
149
|
+
Requires-Dist: pycparser ==2.22 ; extra == 'pdfminer'
|
149
150
|
Requires-Dist: pdfminer.six ==20221105 ; (python_version < "3.8") and extra == 'pdfminer'
|
150
151
|
Requires-Dist: cffi ==1.15.1 ; (python_version < "3.8") and extra == 'pdfminer'
|
151
152
|
Requires-Dist: cryptography ==39.0.2 ; (python_version < "3.9") and extra == 'pdfminer'
|
@@ -154,7 +155,9 @@ Requires-Dist: cffi ==1.16.0 ; (python_version >= "3.8") and extra == 'pdfminer'
|
|
154
155
|
Requires-Dist: cryptography ==42.0.5 ; (python_version >= "3.9") and extra == 'pdfminer'
|
155
156
|
Provides-Extra: pillow
|
156
157
|
Requires-Dist: Pillow ==9.5.0 ; (python_version < "3.8") and extra == 'pillow'
|
157
|
-
Requires-Dist: Pillow
|
158
|
+
Requires-Dist: Pillow >=10.3.0 ; (python_version >= "3.8") and extra == 'pillow'
|
159
|
+
Provides-Extra: pip-system-certs
|
160
|
+
Requires-Dist: pip-system-certs ==4.0 ; (platform_system == "Windows") and extra == 'pip-system-certs'
|
158
161
|
Provides-Extra: proxy
|
159
162
|
Requires-Dist: proxy.py ==2.4.3 ; extra == 'proxy'
|
160
163
|
Provides-Extra: psutil
|
@@ -177,9 +180,9 @@ Requires-Dist: zstandard ==0.22.0 ; extra == 'selenium-wire'
|
|
177
180
|
|
178
181
|
<h1>SeleniumBase</h1>
|
179
182
|
|
180
|
-
<p align="center"><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/
|
183
|
+
<p align="center"><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/mac_sb_logo_b.png" alt="SeleniumBase" title="SeleniumBase" width="440" /></a></p>
|
181
184
|
|
182
|
-
<
|
185
|
+
<h3 align="center" class="hero__title"><b>Web Automation and Testing with Python have evolved.</b></h3>
|
183
186
|
|
184
187
|
<p align="center"><a href="https://pypi.python.org/pypi/seleniumbase" target="_blank"><img src="https://img.shields.io/pypi/v/seleniumbase.svg?color=3399EE" alt="PyPI version" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/releases" target="_blank"><img src="https://img.shields.io/github/v/release/seleniumbase/SeleniumBase.svg?color=22AAEE" alt="GitHub version" /></a> <a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/actions" target="_blank"><img src="https://github.com/seleniumbase/SeleniumBase/workflows/CI%20build/badge.svg" alt="SeleniumBase GitHub Actions" /></a> <a href="https://gitter.im/seleniumbase/SeleniumBase" target="_blank"><img src="https://img.shields.io/gitter/room/seleniumbase/SeleniumBase.svg" alt="Gitter chat"/></a></p>
|
185
188
|
|
@@ -225,7 +228,7 @@ Requires-Dist: zstandard ==0.22.0 ; extra == 'selenium-wire'
|
|
225
228
|
|
226
229
|
📚 Learn from [**over 200 examples** in the **SeleniumBase/examples/**](https://github.com/seleniumbase/SeleniumBase/tree/master/examples) folder.
|
227
230
|
|
228
|
-
<p align="left">📗 Here's <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/my_first_test.py">my_first_test.py</a>, which
|
231
|
+
<p align="left">📗 Here's <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/my_first_test.py">my_first_test.py</a>, which tests login, shopping, and checkout:</p>
|
229
232
|
|
230
233
|
```bash
|
231
234
|
pytest my_first_test.py
|
@@ -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=CiuD5saIyKINWntdxjO6lkLBog7FDVcbytnROOtLbNI,46
|
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
|
@@ -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=xlZqxbA4p3zIpsXGAcJYr-09OtykvdIsDoj6yyOPKYw,166053
|
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,7 +70,7 @@ 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=
|
73
|
+
seleniumbase/fixtures/base_case.py,sha256=bLh4Q9SEVwY0pkNdxa5BFTjIT-v7TUCpLCUblofcTdg,688014
|
74
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
|
@@ -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=RXOxTRZStVgtOASkGGA_0dnhrATMIG4-NVw3dvIqIME,1247
|
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.
|
141
|
-
seleniumbase-4.
|
142
|
-
seleniumbase-4.
|
143
|
-
seleniumbase-4.
|
144
|
-
seleniumbase-4.
|
145
|
-
seleniumbase-4.
|
140
|
+
seleniumbase-4.25.1.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
|
141
|
+
seleniumbase-4.25.1.dist-info/METADATA,sha256=lavT6oc7TSY_pZlDhtH17-HS0qrFKPR-Z7tZrIdLR3M,84086
|
142
|
+
seleniumbase-4.25.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
143
|
+
seleniumbase-4.25.1.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
144
|
+
seleniumbase-4.25.1.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
145
|
+
seleniumbase-4.25.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|