seleniumbase 4.39.0__py3-none-any.whl → 4.39.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/console_scripts/sb_mkrec.py +3 -2
- seleniumbase/core/browser_launcher.py +43 -9
- seleniumbase/extensions/recorder.zip +0 -0
- seleniumbase/undetected/cdp_driver/browser.py +31 -0
- seleniumbase/undetected/cdp_driver/cdp_util.py +16 -6
- seleniumbase/undetected/cdp_driver/config.py +2 -1
- seleniumbase/undetected/cdp_driver/connection.py +30 -0
- {seleniumbase-4.39.0.dist-info → seleniumbase-4.39.1.dist-info}/METADATA +4 -3
- {seleniumbase-4.39.0.dist-info → seleniumbase-4.39.1.dist-info}/RECORD +14 -14
- {seleniumbase-4.39.0.dist-info → seleniumbase-4.39.1.dist-info}/WHEEL +1 -1
- {seleniumbase-4.39.0.dist-info → seleniumbase-4.39.1.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.39.0.dist-info → seleniumbase-4.39.1.dist-info}/licenses/LICENSE +0 -0
- {seleniumbase-4.39.0.dist-info → seleniumbase-4.39.1.dist-info}/top_level.txt +0 -0
seleniumbase/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.39.
|
2
|
+
__version__ = "4.39.1"
|
@@ -192,8 +192,9 @@ def main():
|
|
192
192
|
elif "'" not in start_page:
|
193
193
|
used_sp = "'%s'" % start_page
|
194
194
|
data.append(
|
195
|
-
" self.
|
196
|
-
" %s
|
195
|
+
" self.activate_cdp_mode(\n"
|
196
|
+
" %s,\n"
|
197
|
+
" recorder=True,\n"
|
197
198
|
" )" % used_sp
|
198
199
|
)
|
199
200
|
else:
|
@@ -108,7 +108,9 @@ def make_driver_executable_if_not(driver_path):
|
|
108
108
|
shared_utils.make_executable(driver_path)
|
109
109
|
|
110
110
|
|
111
|
-
def extend_driver(
|
111
|
+
def extend_driver(
|
112
|
+
driver, proxy_auth=False, use_uc=True, recorder_ext=False
|
113
|
+
):
|
112
114
|
# Extend the driver with new methods
|
113
115
|
driver.default_find_element = driver.find_element
|
114
116
|
driver.default_find_elements = driver.find_elements
|
@@ -234,6 +236,14 @@ def extend_driver(driver, proxy_auth=False, use_uc=True):
|
|
234
236
|
driver.switch_to_tab = DM.switch_to_tab
|
235
237
|
driver.switch_to_frame = DM.switch_to_frame
|
236
238
|
driver.reset_window_size = DM.reset_window_size
|
239
|
+
if recorder_ext:
|
240
|
+
from seleniumbase.js_code.recorder_js import recorder_js
|
241
|
+
recorder_code = (
|
242
|
+
"""window.onload = function() { %s };""" % recorder_js
|
243
|
+
)
|
244
|
+
driver.execute_cdp_cmd(
|
245
|
+
"Page.addScriptToEvaluateOnNewDocument", {"source": recorder_code}
|
246
|
+
)
|
237
247
|
if hasattr(driver, "proxy"):
|
238
248
|
driver.set_wire_proxy = DM.set_wire_proxy
|
239
249
|
if proxy_auth:
|
@@ -2542,6 +2552,7 @@ def _set_chrome_options(
|
|
2542
2552
|
included_disabled_features.append("PrivacySandboxSettings4")
|
2543
2553
|
included_disabled_features.append("SidePanelPinning")
|
2544
2554
|
included_disabled_features.append("UserAgentClientHint")
|
2555
|
+
included_disabled_features.append("DisableLoadExtensionCommandLineSwitch")
|
2545
2556
|
for item in extra_disabled_features:
|
2546
2557
|
if item not in included_disabled_features:
|
2547
2558
|
included_disabled_features.append(item)
|
@@ -2819,6 +2830,8 @@ def get_driver(
|
|
2819
2830
|
if headless2 and browser_name == constants.Browser.FIREFOX:
|
2820
2831
|
headless2 = False # Only for Chromium
|
2821
2832
|
headless = True
|
2833
|
+
if binary_location and isinstance(binary_location, str):
|
2834
|
+
binary_location = binary_location.strip()
|
2822
2835
|
if (
|
2823
2836
|
is_using_uc(undetectable, browser_name)
|
2824
2837
|
and binary_location
|
@@ -3014,6 +3027,8 @@ def get_driver(
|
|
3014
3027
|
proxy_pass = None
|
3015
3028
|
proxy_scheme = "http"
|
3016
3029
|
if proxy_string:
|
3030
|
+
# (The code below was for the Chrome 137 extension fix)
|
3031
|
+
# sb_config._cdp_proxy = proxy_string
|
3017
3032
|
username_and_password = None
|
3018
3033
|
if "@" in proxy_string:
|
3019
3034
|
# Format => username:password@hostname:port
|
@@ -4450,6 +4465,9 @@ def get_local_driver(
|
|
4450
4465
|
included_disabled_features.append("PrivacySandboxSettings4")
|
4451
4466
|
included_disabled_features.append("SidePanelPinning")
|
4452
4467
|
included_disabled_features.append("UserAgentClientHint")
|
4468
|
+
included_disabled_features.append(
|
4469
|
+
"DisableLoadExtensionCommandLineSwitch"
|
4470
|
+
)
|
4453
4471
|
for item in extra_disabled_features:
|
4454
4472
|
if item not in included_disabled_features:
|
4455
4473
|
included_disabled_features.append(item)
|
@@ -5328,7 +5346,9 @@ def get_local_driver(
|
|
5328
5346
|
driver = webdriver.Chrome(
|
5329
5347
|
service=service, options=chrome_options
|
5330
5348
|
)
|
5331
|
-
return extend_driver(
|
5349
|
+
return extend_driver(
|
5350
|
+
driver, proxy_auth, use_uc, recorder_ext
|
5351
|
+
)
|
5332
5352
|
if not auto_upgrade_chromedriver:
|
5333
5353
|
raise # Not an obvious fix.
|
5334
5354
|
else:
|
@@ -5580,11 +5600,15 @@ def get_local_driver(
|
|
5580
5600
|
'Emulation.setDeviceMetricsOverride',
|
5581
5601
|
set_device_metrics_override
|
5582
5602
|
)
|
5583
|
-
return extend_driver(
|
5603
|
+
return extend_driver(
|
5604
|
+
driver, proxy_auth, use_uc, recorder_ext
|
5605
|
+
)
|
5584
5606
|
else: # Running headless on Linux (and not using --uc)
|
5585
5607
|
try:
|
5586
5608
|
driver = webdriver.Chrome(options=chrome_options)
|
5587
|
-
return extend_driver(
|
5609
|
+
return extend_driver(
|
5610
|
+
driver, proxy_auth, use_uc, recorder_ext
|
5611
|
+
)
|
5588
5612
|
except Exception as e:
|
5589
5613
|
if not hasattr(e, "msg"):
|
5590
5614
|
raise
|
@@ -5606,7 +5630,9 @@ def get_local_driver(
|
|
5606
5630
|
driver = webdriver.Chrome(
|
5607
5631
|
service=service, options=chrome_options
|
5608
5632
|
)
|
5609
|
-
return extend_driver(
|
5633
|
+
return extend_driver(
|
5634
|
+
driver, proxy_auth, use_uc, recorder_ext
|
5635
|
+
)
|
5610
5636
|
mcv = None # Major Chrome Version
|
5611
5637
|
if "Current browser version is " in e.msg:
|
5612
5638
|
line = e.msg.split("Current browser version is ")[1]
|
@@ -5649,7 +5675,9 @@ def get_local_driver(
|
|
5649
5675
|
service=service,
|
5650
5676
|
options=chrome_options,
|
5651
5677
|
)
|
5652
|
-
return extend_driver(
|
5678
|
+
return extend_driver(
|
5679
|
+
driver, proxy_auth, use_uc, recorder_ext
|
5680
|
+
)
|
5653
5681
|
# Use the virtual display on Linux during headless errors
|
5654
5682
|
logging.debug(
|
5655
5683
|
"\nWarning: Chrome failed to launch in"
|
@@ -5667,7 +5695,9 @@ def get_local_driver(
|
|
5667
5695
|
driver = webdriver.Chrome(
|
5668
5696
|
service=service, options=chrome_options
|
5669
5697
|
)
|
5670
|
-
return extend_driver(
|
5698
|
+
return extend_driver(
|
5699
|
+
driver, proxy_auth, use_uc, recorder_ext
|
5700
|
+
)
|
5671
5701
|
except Exception as original_exception:
|
5672
5702
|
if use_uc:
|
5673
5703
|
raise
|
@@ -5677,7 +5707,9 @@ def get_local_driver(
|
|
5677
5707
|
driver = webdriver.Chrome(
|
5678
5708
|
service=service, options=chrome_options
|
5679
5709
|
)
|
5680
|
-
return extend_driver(
|
5710
|
+
return extend_driver(
|
5711
|
+
driver, proxy_auth, use_uc, recorder_ext
|
5712
|
+
)
|
5681
5713
|
if user_data_dir:
|
5682
5714
|
print("\nUnable to set user_data_dir while starting Chrome!\n")
|
5683
5715
|
raise
|
@@ -5704,7 +5736,9 @@ def get_local_driver(
|
|
5704
5736
|
)
|
5705
5737
|
try:
|
5706
5738
|
driver = webdriver.Chrome(service=service)
|
5707
|
-
return extend_driver(
|
5739
|
+
return extend_driver(
|
5740
|
+
driver, proxy_auth, use_uc, recorder_ext
|
5741
|
+
)
|
5708
5742
|
except Exception:
|
5709
5743
|
raise original_exception
|
5710
5744
|
else:
|
Binary file
|
@@ -292,6 +292,7 @@ class Browser:
|
|
292
292
|
_cdp_locale = None
|
293
293
|
_cdp_platform = None
|
294
294
|
_cdp_geolocation = None
|
295
|
+
_cdp_recorder = None
|
295
296
|
if (
|
296
297
|
hasattr(sb_config, "_cdp_timezone") and sb_config._cdp_timezone
|
297
298
|
):
|
@@ -330,6 +331,8 @@ class Browser:
|
|
330
331
|
_cdp_geolocation = kwargs["geolocation"]
|
331
332
|
elif "geoloc" in kwargs:
|
332
333
|
_cdp_geolocation = kwargs["geoloc"]
|
334
|
+
if "recorder" in kwargs:
|
335
|
+
_cdp_recorder = kwargs["recorder"]
|
333
336
|
if _cdp_timezone:
|
334
337
|
await connection.send(cdp.page.navigate("about:blank"))
|
335
338
|
await connection.set_timezone(_cdp_timezone)
|
@@ -344,9 +347,37 @@ class Browser:
|
|
344
347
|
await connection.send(cdp.page.navigate("about:blank"))
|
345
348
|
await connection.set_geolocation(_cdp_geolocation)
|
346
349
|
# Use the tab to navigate to new url
|
350
|
+
if (
|
351
|
+
hasattr(sb_config, "_cdp_proxy")
|
352
|
+
and "@" in sb_config._cdp_proxy
|
353
|
+
and sb_config._cdp_proxy
|
354
|
+
and "auth" not in kwargs
|
355
|
+
):
|
356
|
+
username_and_password = sb_config._cdp_proxy.split("@")[0]
|
357
|
+
proxy_user = username_and_password.split(":")[0]
|
358
|
+
proxy_pass = username_and_password.split(":")[1]
|
359
|
+
await connection.set_auth(
|
360
|
+
proxy_user, proxy_pass, self.tabs[0]
|
361
|
+
)
|
362
|
+
time.sleep(0.25)
|
363
|
+
elif "auth" in kwargs and kwargs["auth"] and ":" in kwargs["auth"]:
|
364
|
+
username_and_password = kwargs["auth"]
|
365
|
+
proxy_user = username_and_password.split(":")[0]
|
366
|
+
proxy_pass = username_and_password.split(":")[1]
|
367
|
+
await connection.set_auth(
|
368
|
+
proxy_user, proxy_pass, self.tabs[0]
|
369
|
+
)
|
370
|
+
time.sleep(0.25)
|
347
371
|
frame_id, loader_id, *_ = await connection.send(
|
348
372
|
cdp.page.navigate(url)
|
349
373
|
)
|
374
|
+
if _cdp_recorder:
|
375
|
+
pass # (The code below was for the Chrome 137 extension fix)
|
376
|
+
'''from seleniumbase.js_code.recorder_js import recorder_js
|
377
|
+
recorder_code = (
|
378
|
+
"""window.onload = function() { %s };""" % recorder_js
|
379
|
+
)
|
380
|
+
await connection.send(cdp.runtime.evaluate(recorder_code))'''
|
350
381
|
# Update the frame_id on the tab
|
351
382
|
connection.frame_id = frame_id
|
352
383
|
connection.browser = self
|
@@ -360,8 +360,10 @@ async def start(
|
|
360
360
|
except Exception:
|
361
361
|
time.sleep(0.15)
|
362
362
|
driver = await Browser.create(config)
|
363
|
-
if proxy
|
364
|
-
|
363
|
+
if proxy:
|
364
|
+
sb_config._cdp_proxy = proxy
|
365
|
+
if "@" in str(proxy):
|
366
|
+
time.sleep(0.15)
|
365
367
|
if lang:
|
366
368
|
sb_config._cdp_locale = lang
|
367
369
|
elif "locale" in kwargs:
|
@@ -402,10 +404,14 @@ async def start_async(*args, **kwargs) -> Browser:
|
|
402
404
|
binary_location = None
|
403
405
|
if "browser_executable_path" in kwargs:
|
404
406
|
binary_location = kwargs["browser_executable_path"]
|
407
|
+
if binary_location and isinstance(binary_location, str):
|
408
|
+
binary_location = binary_location.strip()
|
405
409
|
else:
|
406
410
|
binary_location = detect_b_ver.get_binary_location("google-chrome")
|
407
|
-
if binary_location and
|
408
|
-
binary_location =
|
411
|
+
if binary_location and isinstance(binary_location, str):
|
412
|
+
binary_location = binary_location.strip()
|
413
|
+
if not os.path.exists(binary_location):
|
414
|
+
binary_location = None
|
409
415
|
if (
|
410
416
|
shared_utils.is_chrome_130_or_newer(binary_location)
|
411
417
|
and "user_data_dir" in kwargs
|
@@ -438,10 +444,14 @@ def start_sync(*args, **kwargs) -> Browser:
|
|
438
444
|
binary_location = None
|
439
445
|
if "browser_executable_path" in kwargs:
|
440
446
|
binary_location = kwargs["browser_executable_path"]
|
447
|
+
if binary_location and isinstance(binary_location, str):
|
448
|
+
binary_location = binary_location.strip()
|
441
449
|
else:
|
442
450
|
binary_location = detect_b_ver.get_binary_location("google-chrome")
|
443
|
-
if binary_location and
|
444
|
-
binary_location =
|
451
|
+
if binary_location and isinstance(binary_location, str):
|
452
|
+
binary_location = binary_location.strip()
|
453
|
+
if not os.path.exists(binary_location):
|
454
|
+
binary_location = None
|
445
455
|
if (
|
446
456
|
shared_utils.is_chrome_130_or_newer(binary_location)
|
447
457
|
and "user_data_dir" in kwargs
|
@@ -144,7 +144,8 @@ class Config:
|
|
144
144
|
"--disable-features=IsolateOrigins,site-per-process,Translate,"
|
145
145
|
"InsecureDownloadWarnings,DownloadBubble,DownloadBubbleV2,"
|
146
146
|
"OptimizationTargetPrediction,OptimizationGuideModelDownloading,"
|
147
|
-
"SidePanelPinning,UserAgentClientHint,PrivacySandboxSettings4"
|
147
|
+
"SidePanelPinning,UserAgentClientHint,PrivacySandboxSettings4,"
|
148
|
+
"DisableLoadExtensionCommandLineSwitch",
|
148
149
|
]
|
149
150
|
|
150
151
|
@property
|
@@ -378,6 +378,36 @@ class Connection(metaclass=CantTouchThis):
|
|
378
378
|
accuracy=100,
|
379
379
|
))
|
380
380
|
|
381
|
+
async def set_auth(self, username, password, tab):
|
382
|
+
async def auth_challenge_handler(event: cdp.fetch.AuthRequired):
|
383
|
+
await tab.send(
|
384
|
+
cdp.fetch.continue_with_auth(
|
385
|
+
request_id=event.request_id,
|
386
|
+
auth_challenge_response=cdp.fetch.AuthChallengeResponse(
|
387
|
+
response="ProvideCredentials",
|
388
|
+
username=username,
|
389
|
+
password=password,
|
390
|
+
),
|
391
|
+
)
|
392
|
+
)
|
393
|
+
|
394
|
+
async def req_paused(event: cdp.fetch.RequestPaused):
|
395
|
+
await tab.send(
|
396
|
+
cdp.fetch.continue_request(request_id=event.request_id)
|
397
|
+
)
|
398
|
+
|
399
|
+
tab.add_handler(
|
400
|
+
cdp.fetch.RequestPaused,
|
401
|
+
lambda event: asyncio.create_task(req_paused(event)),
|
402
|
+
)
|
403
|
+
|
404
|
+
tab.add_handler(
|
405
|
+
cdp.fetch.AuthRequired,
|
406
|
+
lambda event: asyncio.create_task(auth_challenge_handler(event)),
|
407
|
+
)
|
408
|
+
|
409
|
+
await tab.send(cdp.fetch.enable(handle_auth_requests=True))
|
410
|
+
|
381
411
|
def __getattr__(self, item):
|
382
412
|
""":meta private:"""
|
383
413
|
try:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.39.
|
3
|
+
Version: 4.39.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
|
@@ -121,7 +121,8 @@ Requires-Dist: pytest-metadata==3.1.1
|
|
121
121
|
Requires-Dist: pytest-ordering==0.6
|
122
122
|
Requires-Dist: pytest-rerunfailures==14.0; python_version < "3.9"
|
123
123
|
Requires-Dist: pytest-rerunfailures==15.1; python_version >= "3.9"
|
124
|
-
Requires-Dist: pytest-xdist==3.6.1
|
124
|
+
Requires-Dist: pytest-xdist==3.6.1; python_version < "3.9"
|
125
|
+
Requires-Dist: pytest-xdist==3.7.0; python_version >= "3.9"
|
125
126
|
Requires-Dist: parameterized==0.9.0
|
126
127
|
Requires-Dist: behave==1.2.6
|
127
128
|
Requires-Dist: soupsieve==2.7
|
@@ -158,7 +159,7 @@ Provides-Extra: pdfminer
|
|
158
159
|
Requires-Dist: pdfminer.six==20250324; python_version < "3.9" and extra == "pdfminer"
|
159
160
|
Requires-Dist: pdfminer.six==20250506; python_version >= "3.9" and extra == "pdfminer"
|
160
161
|
Requires-Dist: cryptography==39.0.2; python_version < "3.9" and extra == "pdfminer"
|
161
|
-
Requires-Dist: cryptography==45.0.
|
162
|
+
Requires-Dist: cryptography==45.0.3; python_version >= "3.9" and extra == "pdfminer"
|
162
163
|
Requires-Dist: cffi==1.17.1; extra == "pdfminer"
|
163
164
|
Requires-Dist: pycparser==2.22; extra == "pdfminer"
|
164
165
|
Provides-Extra: pillow
|
@@ -3,7 +3,7 @@ sbase/__main__.py,sha256=G0bVB1-DM4PGwQ1KyOupaWCs4ePbChZNNWuX2htim5U,647
|
|
3
3
|
sbase/steps.py,sha256=_WvAjydKqZfTdnZW9LPKkRty-g-lfdUPmLqnZj6ulcs,43013
|
4
4
|
seleniumbase/__init__.py,sha256=JFEY9P5QJqsa1M6ghzLMH2eIPQyh85iglCaQwg8Y8z4,2498
|
5
5
|
seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
|
6
|
-
seleniumbase/__version__.py,sha256=
|
6
|
+
seleniumbase/__version__.py,sha256=bj46m18MZVWgWtHoBUoAWE_nY0f7HF4ab-r22nf_9_E,46
|
7
7
|
seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
8
8
|
seleniumbase/behave/behave_helper.py,sha256=elkl8P9eLulRAioLstE9baYNM9N_PHBmAOcajX-pH_Y,24198
|
9
9
|
seleniumbase/behave/behave_sb.py,sha256=bbbfa8ID6nMnmrVJ7G-014uOj5PE4B8IROZB2WXSQ8I,59172
|
@@ -30,13 +30,13 @@ seleniumbase/console_scripts/sb_mkchart.py,sha256=ep9g-9CSIwaOJKVxhB3xjRQpfsuApy
|
|
30
30
|
seleniumbase/console_scripts/sb_mkdir.py,sha256=iFN6ZMOgmH_GAvEuvzYltWuYiS3PRFQcL5fJIj1yX_Y,30897
|
31
31
|
seleniumbase/console_scripts/sb_mkfile.py,sha256=OWYd4yFccmjrd-gNn1t1una-HDRU2_N2-r4Tg3nHsj0,17744
|
32
32
|
seleniumbase/console_scripts/sb_mkpres.py,sha256=EWFRVacjYTX49y-fEiYTZacM9_01IxuuaO4nMjHrIGo,11015
|
33
|
-
seleniumbase/console_scripts/sb_mkrec.py,sha256=
|
33
|
+
seleniumbase/console_scripts/sb_mkrec.py,sha256=E268227Q75ZHP1rGFoIY_6i6FzGxD_kWmKm7QMntpW4,12012
|
34
34
|
seleniumbase/console_scripts/sb_objectify.py,sha256=nGxtVGL_nHj0bLHvk86znV3EABsE2_tjF74lgto1_Mk,122020
|
35
35
|
seleniumbase/console_scripts/sb_print.py,sha256=tNy-bMDgwHJO3bZxMpmo9weSE8uhbH0CUpP4VZqWxvI,30558
|
36
36
|
seleniumbase/console_scripts/sb_recorder.py,sha256=DH-n2fN7N9qyHMl7wjtn8MiliBgfw-1kwgmfg1GUuhk,10772
|
37
37
|
seleniumbase/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
38
38
|
seleniumbase/core/application_manager.py,sha256=e_0sjtI8cjY5BNyZj1QBR0j6_oCScxGmSXYEpcYwuZE,576
|
39
|
-
seleniumbase/core/browser_launcher.py,sha256=
|
39
|
+
seleniumbase/core/browser_launcher.py,sha256=WD-m3IOJ2spaYelEn29bTpAOYUs9mIlCBIg7m7MZrII,242804
|
40
40
|
seleniumbase/core/capabilities_parser.py,sha256=meIS2uHapTCq2ldfNAToC7r0cKmZDRXuYNKExM1GHDY,6038
|
41
41
|
seleniumbase/core/colored_traceback.py,sha256=DrRWfg7XEnKcgY59Xj7Jdk09H-XqHYBSUpB-DiZt6iY,2020
|
42
42
|
seleniumbase/core/create_db_tables.sql,sha256=VWPtrdiW_HQ6yETHjqTu-VIrTwvd8I8o1NfBeaVSHpU,972
|
@@ -62,7 +62,7 @@ seleniumbase/drivers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
62
62
|
seleniumbase/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
63
63
|
seleniumbase/extensions/ad_block.zip,sha256=LTlaOYUs6a1Zu4op64pLoDEqYKJb8zHq_Y0PsBIIqCk,1454
|
64
64
|
seleniumbase/extensions/disable_csp.zip,sha256=5RvomXnm2PdivUVcxTV6jfvD8WhTEsQYHaQZe7nk9Yc,20014
|
65
|
-
seleniumbase/extensions/recorder.zip,sha256=
|
65
|
+
seleniumbase/extensions/recorder.zip,sha256=JEE_FVEvlS63cFQbVLEroIyPSS91nWCDL0MhjVrmIpk,11813
|
66
66
|
seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
|
67
67
|
seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
68
68
|
seleniumbase/fixtures/base_case.py,sha256=zlF10aFjJdRUS6nT9ksvcXPdyD7A_mlFyAgEuQkVRj4,727097
|
@@ -115,10 +115,10 @@ seleniumbase/undetected/reactor.py,sha256=NropaXcO54pzmDq6quR27qPJxab6636H7LRAaq
|
|
115
115
|
seleniumbase/undetected/webelement.py,sha256=OOpUYbEiOG52KsYYyuDW9tYLdA2SMnukvwQHUdPVn9E,1389
|
116
116
|
seleniumbase/undetected/cdp_driver/__init__.py,sha256=Ga9alwuaZZy4_XOShc0HjgFnNqpPdrcbjAicz5gE7a4,215
|
117
117
|
seleniumbase/undetected/cdp_driver/_contradict.py,sha256=lP4b0h5quAy573ETn_TBbYV889cL1AuPLVInpJ0ZkiU,3183
|
118
|
-
seleniumbase/undetected/cdp_driver/browser.py,sha256=
|
119
|
-
seleniumbase/undetected/cdp_driver/cdp_util.py,sha256=
|
120
|
-
seleniumbase/undetected/cdp_driver/config.py,sha256=
|
121
|
-
seleniumbase/undetected/cdp_driver/connection.py,sha256=
|
118
|
+
seleniumbase/undetected/cdp_driver/browser.py,sha256=EQJNg8RBBg82rJiyyo3BDpZzViqyCrnA-pnLxhpg45g,34382
|
119
|
+
seleniumbase/undetected/cdp_driver/cdp_util.py,sha256=Pjyfx4NZJ4sjRHxXjZWOvKvgki3RIJx8p4j1tCAjOpE,24868
|
120
|
+
seleniumbase/undetected/cdp_driver/config.py,sha256=4-nUkEf7JSuOdFMNd6XmJnFucZrA59-kH1FUMxDcgFU,12561
|
121
|
+
seleniumbase/undetected/cdp_driver/connection.py,sha256=DbySOlk5mQnbWtz9SOQvEDYp9ws7ZOjz2HRCARXR-dk,25649
|
122
122
|
seleniumbase/undetected/cdp_driver/element.py,sha256=FIC6v7OmumLCT-_vIc3H4oju_oBbaLpWJUJIKm2c_q4,40467
|
123
123
|
seleniumbase/undetected/cdp_driver/tab.py,sha256=t7Ucn0pmm7imwdCM-5KmIJNU2MCeMuIl6G3T2VMrbxU,53170
|
124
124
|
seleniumbase/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -135,9 +135,9 @@ seleniumbase/utilities/selenium_grid/start-grid-hub.bat,sha256=Ftq-GrAKRYH2ssDPr
|
|
135
135
|
seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443QFK8PryBpDmKn5Gy0s4o0vDSM,106
|
136
136
|
seleniumbase/utilities/selenium_ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
137
137
|
seleniumbase/utilities/selenium_ide/convert_ide.py,sha256=pZFnqEJQEKZPyNFjkLD29s2HPQgCrWW9XJWpCPhWOoM,31691
|
138
|
-
seleniumbase-4.39.
|
139
|
-
seleniumbase-4.39.
|
140
|
-
seleniumbase-4.39.
|
141
|
-
seleniumbase-4.39.
|
142
|
-
seleniumbase-4.39.
|
143
|
-
seleniumbase-4.39.
|
138
|
+
seleniumbase-4.39.1.dist-info/licenses/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
|
139
|
+
seleniumbase-4.39.1.dist-info/METADATA,sha256=mouLj0Wi78TD1BfpXwhjXZ15pNjBBFwDaMXB0bHy5dg,87206
|
140
|
+
seleniumbase-4.39.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
141
|
+
seleniumbase-4.39.1.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
142
|
+
seleniumbase-4.39.1.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
143
|
+
seleniumbase-4.39.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|