seleniumbase 4.41.6__py3-none-any.whl → 4.41.7__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.
- sbase/steps.py +9 -0
- seleniumbase/__version__.py +1 -1
- seleniumbase/behave/behave_helper.py +2 -0
- seleniumbase/core/browser_launcher.py +1 -0
- seleniumbase/core/recorder_helper.py +3 -0
- seleniumbase/core/sb_cdp.py +3 -0
- seleniumbase/fixtures/base_case.py +50 -1
- {seleniumbase-4.41.6.dist-info → seleniumbase-4.41.7.dist-info}/METADATA +39 -14
- {seleniumbase-4.41.6.dist-info → seleniumbase-4.41.7.dist-info}/RECORD +13 -13
- {seleniumbase-4.41.6.dist-info → seleniumbase-4.41.7.dist-info}/WHEEL +0 -0
- {seleniumbase-4.41.6.dist-info → seleniumbase-4.41.7.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.41.6.dist-info → seleniumbase-4.41.7.dist-info}/licenses/LICENSE +0 -0
- {seleniumbase-4.41.6.dist-info → seleniumbase-4.41.7.dist-info}/top_level.txt +0 -0
sbase/steps.py
CHANGED
@@ -1191,6 +1191,15 @@ def set_attributes(context, selector, attribute, value):
|
|
1191
1191
|
sb.set_attributes(selector, attribute, value)
|
1192
1192
|
|
1193
1193
|
|
1194
|
+
@step("Save as PDF to logs")
|
1195
|
+
@step("Save as PDF to the logs")
|
1196
|
+
@step("User saves page as PDF to logs")
|
1197
|
+
@step("User saves page as PDF to the logs")
|
1198
|
+
def save_as_pdf_to_logs(context):
|
1199
|
+
sb = context.sb
|
1200
|
+
sb.save_as_pdf_to_logs()
|
1201
|
+
|
1202
|
+
|
1194
1203
|
@step("Save page source to logs")
|
1195
1204
|
@step("Save the page source to the logs")
|
1196
1205
|
@step("User saves page source to logs")
|
seleniumbase/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.41.
|
2
|
+
__version__ = "4.41.7"
|
@@ -522,6 +522,8 @@ def generate_gherkin(srt_actions):
|
|
522
522
|
)
|
523
523
|
elif action[0] == "ss_tl":
|
524
524
|
sb_actions.append("Save screenshot to logs")
|
525
|
+
elif action[0] == "pdftl":
|
526
|
+
sb_actions.append("Save as PDF to logs")
|
525
527
|
elif action[0] == "spstl":
|
526
528
|
sb_actions.append("Save page source to logs")
|
527
529
|
elif action[0] == "sh_fc":
|
@@ -865,6 +865,7 @@ def uc_open_with_cdp_mode(driver, url=None, **kwargs):
|
|
865
865
|
cdp.scroll_down = CDPM.scroll_down
|
866
866
|
cdp.save_screenshot = CDPM.save_screenshot
|
867
867
|
cdp.print_to_pdf = CDPM.print_to_pdf
|
868
|
+
cdp.save_as_pdf = CDPM.save_as_pdf
|
868
869
|
cdp.page = page # async world
|
869
870
|
cdp.driver = driver.cdp_base # async world
|
870
871
|
cdp.tab = cdp.page # shortcut (original)
|
@@ -556,6 +556,9 @@ def generate_sbase_code(srt_actions):
|
|
556
556
|
elif action[0] == "ss_tl":
|
557
557
|
method = "save_screenshot_to_logs"
|
558
558
|
sb_actions.append("self.%s()" % method)
|
559
|
+
elif action[0] == "pdftl":
|
560
|
+
method = "save_as_pdf_to_logs"
|
561
|
+
sb_actions.append("self.%s()" % method)
|
559
562
|
elif action[0] == "spstl":
|
560
563
|
method = "save_page_source_to_logs"
|
561
564
|
sb_actions.append("self.%s()" % method)
|
seleniumbase/core/sb_cdp.py
CHANGED
@@ -2571,6 +2571,9 @@ class CDPMethods():
|
|
2571
2571
|
filename = os.path.join(folder, name)
|
2572
2572
|
self.loop.run_until_complete(self.page.print_to_pdf(filename))
|
2573
2573
|
|
2574
|
+
def save_as_pdf(self, *args, **kwargs):
|
2575
|
+
self.print_to_pdf(*args, **kwargs)
|
2576
|
+
|
2574
2577
|
|
2575
2578
|
class Chrome(CDPMethods):
|
2576
2579
|
def __init__(self, url=None, **kwargs):
|
@@ -134,6 +134,7 @@ class BaseCase(unittest.TestCase):
|
|
134
134
|
self.__requests_timeout = None
|
135
135
|
self.__page_source_count = 0
|
136
136
|
self.__screenshot_count = 0
|
137
|
+
self.__saved_pdf_count = 0
|
137
138
|
self.__logs_data_count = 0
|
138
139
|
self.__last_data_file = None
|
139
140
|
self.__level_0_visual_f = False
|
@@ -4492,7 +4493,8 @@ class BaseCase(unittest.TestCase):
|
|
4492
4493
|
If a provided selector is not found, then takes a full-page screenshot.
|
4493
4494
|
(The last_page / failure screenshot is always "screenshot.png")
|
4494
4495
|
The screenshot will be in PNG format."""
|
4495
|
-
self.
|
4496
|
+
if not self.__is_cdp_swap_needed():
|
4497
|
+
self.wait_for_ready_state_complete()
|
4496
4498
|
test_logpath = os.path.join(self.log_path, self.__get_test_id())
|
4497
4499
|
self.__create_log_path_as_needed(test_logpath)
|
4498
4500
|
if name:
|
@@ -4510,6 +4512,11 @@ class BaseCase(unittest.TestCase):
|
|
4510
4512
|
if selector and by:
|
4511
4513
|
selector, by = self.__recalculate_selector(selector, by)
|
4512
4514
|
if page_actions.is_element_present(self.driver, selector, by):
|
4515
|
+
if self.__is_cdp_swap_needed():
|
4516
|
+
selector = self.convert_to_css_selector(selector, by=by)
|
4517
|
+
return self.cdp.save_screenshot(
|
4518
|
+
name, folder=test_logpath, selector=selector
|
4519
|
+
)
|
4513
4520
|
return page_actions.save_screenshot(
|
4514
4521
|
self.driver, name, test_logpath, selector, by
|
4515
4522
|
)
|
@@ -4523,8 +4530,49 @@ class BaseCase(unittest.TestCase):
|
|
4523
4530
|
action = ["ss_tl", "", origin, time_stamp]
|
4524
4531
|
self.__extra_actions.append(action)
|
4525
4532
|
sb_config._has_logs = True
|
4533
|
+
if self.__is_cdp_swap_needed():
|
4534
|
+
return self.cdp.save_screenshot(name, folder=test_logpath)
|
4526
4535
|
return page_actions.save_screenshot(self.driver, name, test_logpath)
|
4527
4536
|
|
4537
|
+
def save_as_pdf(self, name, folder=None):
|
4538
|
+
"""Same as self.print_to_pdf()"""
|
4539
|
+
return self.print_to_pdf(name, folder=folder)
|
4540
|
+
|
4541
|
+
def save_as_pdf_to_logs(self, name=None):
|
4542
|
+
"""Saves the page as a PDF to the "latest_logs/" folder.
|
4543
|
+
Naming is automatic:
|
4544
|
+
If NO NAME provided: "_1_PDF.pdf", "_2_PDF.pdf", etc.
|
4545
|
+
If NAME IS provided, then: "_1_name.pdf", "_2_name.pdf", etc."""
|
4546
|
+
if not self.__is_cdp_swap_needed():
|
4547
|
+
self.wait_for_ready_state_complete()
|
4548
|
+
test_logpath = os.path.join(self.log_path, self.__get_test_id())
|
4549
|
+
self.__create_log_path_as_needed(test_logpath)
|
4550
|
+
if name:
|
4551
|
+
name = str(name)
|
4552
|
+
self.__saved_pdf_count += 1
|
4553
|
+
if not name or len(name) == 0:
|
4554
|
+
name = "_%s_PDF.pdf" % self.__saved_pdf_count
|
4555
|
+
else:
|
4556
|
+
pre_name = "_%s_" % self.__saved_pdf_count
|
4557
|
+
if len(name) >= 4 and name[-4:].lower() == ".pdf":
|
4558
|
+
name = name[:-4]
|
4559
|
+
if len(name) == 0:
|
4560
|
+
name = "PDF"
|
4561
|
+
name = "%s%s.pdf" % (pre_name, name)
|
4562
|
+
if self.recorder_mode:
|
4563
|
+
url = self.get_current_url()
|
4564
|
+
if url and len(url) > 0:
|
4565
|
+
if ("http:") in url or ("https:") in url or ("file:") in url:
|
4566
|
+
if self.get_session_storage_item("pause_recorder") == "no":
|
4567
|
+
time_stamp = self.execute_script("return Date.now();")
|
4568
|
+
origin = self.get_origin()
|
4569
|
+
action = ["pdftl", "", origin, time_stamp]
|
4570
|
+
self.__extra_actions.append(action)
|
4571
|
+
sb_config._has_logs = True
|
4572
|
+
if self.__is_cdp_swap_needed():
|
4573
|
+
return self.cdp.print_to_pdf(name, folder=test_logpath)
|
4574
|
+
return self.print_to_pdf(name, test_logpath)
|
4575
|
+
|
4528
4576
|
def save_page_source_to_logs(self, name=None):
|
4529
4577
|
"""Saves the page HTML to the "latest_logs/" folder.
|
4530
4578
|
Naming is automatic:
|
@@ -5517,6 +5565,7 @@ class BaseCase(unittest.TestCase):
|
|
5517
5565
|
ext_actions.append("s_scr")
|
5518
5566
|
ext_actions.append("ss_tf")
|
5519
5567
|
ext_actions.append("ss_tl")
|
5568
|
+
ext_actions.append("pdftl")
|
5520
5569
|
ext_actions.append("spstl")
|
5521
5570
|
ext_actions.append("da_el")
|
5522
5571
|
ext_actions.append("da_ep")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.41.
|
3
|
+
Version: 4.41.7
|
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
|
@@ -164,7 +164,7 @@ Provides-Extra: pdfminer
|
|
164
164
|
Requires-Dist: pdfminer.six==20250324; python_version < "3.9" and extra == "pdfminer"
|
165
165
|
Requires-Dist: pdfminer.six==20250506; python_version >= "3.9" and extra == "pdfminer"
|
166
166
|
Requires-Dist: cryptography==39.0.2; python_version < "3.9" and extra == "pdfminer"
|
167
|
-
Requires-Dist: cryptography==
|
167
|
+
Requires-Dist: cryptography==46.0.1; python_version >= "3.9" and extra == "pdfminer"
|
168
168
|
Requires-Dist: cffi==1.17.1; python_version < "3.9" and extra == "pdfminer"
|
169
169
|
Requires-Dist: cffi==2.0.0; python_version >= "3.9" and extra == "pdfminer"
|
170
170
|
Requires-Dist: pycparser==2.22; python_version < "3.9" and extra == "pdfminer"
|
@@ -177,7 +177,7 @@ Requires-Dist: pip-system-certs==4.0; platform_system == "Windows" and extra ==
|
|
177
177
|
Provides-Extra: proxy
|
178
178
|
Requires-Dist: proxy.py==2.4.3; extra == "proxy"
|
179
179
|
Provides-Extra: psutil
|
180
|
-
Requires-Dist: psutil==7.
|
180
|
+
Requires-Dist: psutil==7.1.0; extra == "psutil"
|
181
181
|
Provides-Extra: pyautogui
|
182
182
|
Requires-Dist: PyAutoGUI==0.9.54; extra == "pyautogui"
|
183
183
|
Provides-Extra: selenium-stealth
|
@@ -275,26 +275,31 @@ Dynamic: summary
|
|
275
275
|
|
276
276
|
--------
|
277
277
|
|
278
|
-
<p align="left">📗 Here's <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/raw_google.py">raw_google.py</a>, which
|
278
|
+
<p align="left">📗 For performing a Google Search without hitting the "unusual traffic" page, you can use SeleniumBase UC Mode. Here's <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/raw_google.py">SeleniumBase/examples/raw_google.py</a>, which exports the search results into different formats (PDF, HTML, PNG):</p>
|
279
279
|
|
280
280
|
```python
|
281
281
|
from seleniumbase import SB
|
282
282
|
|
283
283
|
with SB(test=True, uc=True) as sb:
|
284
284
|
sb.open("https://google.com/ncr")
|
285
|
-
sb.type('[title="Search"]', "SeleniumBase GitHub page
|
286
|
-
sb.click(
|
287
|
-
sb.save_screenshot_to_logs() # ./latest_logs/
|
285
|
+
sb.type('[title="Search"]', "SeleniumBase GitHub page")
|
286
|
+
sb.click("div:not([jsname]) > * > input")
|
288
287
|
print(sb.get_page_title())
|
288
|
+
sb.sleep(2) # Wait for the "AI Overview" result
|
289
|
+
if sb.is_text_visible("Generating"):
|
290
|
+
sb.wait_for_text("AI Overview")
|
291
|
+
sb.save_as_pdf_to_logs() # Saved to ./latest_logs/
|
292
|
+
sb.save_page_source_to_logs()
|
293
|
+
sb.save_screenshot_to_logs()
|
289
294
|
```
|
290
295
|
|
291
296
|
> `python raw_google.py`
|
292
297
|
|
293
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/raw_google.py"><img src="https://seleniumbase.github.io/cdn/
|
298
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/raw_google.py"><img src="https://seleniumbase.github.io/cdn/img/google_sb_result.png" alt="SeleniumBase on Google" title="SeleniumBase on Google" width="440" /></a>
|
294
299
|
|
295
300
|
--------
|
296
301
|
|
297
|
-
<p align="left">📗 Here's an example of bypassing Cloudflare's challenge page: <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/raw_gitlab.py">SeleniumBase/examples/cdp_mode/raw_gitlab.py</a></p>
|
302
|
+
<p align="left">📗 Here's an example of bypassing Cloudflare's challenge page with UC Mode + CDP Mode: <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/raw_gitlab.py">SeleniumBase/examples/cdp_mode/raw_gitlab.py</a></p>
|
298
303
|
|
299
304
|
```python
|
300
305
|
from seleniumbase import SB
|
@@ -302,16 +307,36 @@ from seleniumbase import SB
|
|
302
307
|
with SB(uc=True, test=True, locale="en") as sb:
|
303
308
|
url = "https://gitlab.com/users/sign_in"
|
304
309
|
sb.activate_cdp_mode(url)
|
305
|
-
sb.sleep(
|
310
|
+
sb.sleep(2.2)
|
306
311
|
sb.uc_gui_click_captcha()
|
307
|
-
sb.
|
312
|
+
sb.assert_text("Username", '[for="user_login"]', timeout=3)
|
313
|
+
sb.assert_element('label[for="user_login"]')
|
314
|
+
sb.highlight('button:contains("Sign in")')
|
315
|
+
sb.highlight('h1:contains("GitLab.com")')
|
316
|
+
sb.post_message("SeleniumBase wasn't detected", duration=4)
|
308
317
|
```
|
309
318
|
|
310
319
|
<img src="https://seleniumbase.github.io/other/cf_sec.jpg" title="SeleniumBase" width="332"> <img src="https://seleniumbase.github.io/other/gitlab_bypass.png" title="SeleniumBase" width="288">
|
311
320
|
|
321
|
+
<p align="left">📙 You can also use SeleniumBase's pure CDP Mode, which doesn't use chromedriver, Selenium, or a Python context manager at all: <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/raw_cdp_gitlab.py">SeleniumBase/examples/cdp_mode/raw_cdp_gitlab.py</a></p>
|
322
|
+
|
323
|
+
```python
|
324
|
+
from seleniumbase import sb_cdp
|
325
|
+
|
326
|
+
url = "https://gitlab.com/users/sign_in"
|
327
|
+
sb = sb_cdp.Chrome(url)
|
328
|
+
sb.sleep(2.5)
|
329
|
+
sb.gui_click_captcha()
|
330
|
+
sb.highlight('h1:contains("GitLab.com")')
|
331
|
+
sb.highlight('button:contains("Sign in")')
|
332
|
+
sb.driver.stop()
|
333
|
+
```
|
334
|
+
|
335
|
+
> (Due to a change in Chrome 137 where the --load-extension switch was removed, one limitation with this format is that you can't load extensions directly. The other formats weren't affected by this change.)
|
336
|
+
|
312
337
|
--------
|
313
338
|
|
314
|
-
<p align="left">📗 Here's <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/test_get_swag.py">test_get_swag.py</a>, which tests an e-commerce site:</p>
|
339
|
+
<p align="left">📗 Here's <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/test_get_swag.py">SeleniumBase/examples/test_get_swag.py</a>, which tests an e-commerce site:</p>
|
315
340
|
|
316
341
|
```python
|
317
342
|
from seleniumbase import BaseCase
|
@@ -343,7 +368,7 @@ class MyTestClass(BaseCase):
|
|
343
368
|
|
344
369
|
--------
|
345
370
|
|
346
|
-
<p align="left">📗 Here's <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/test_coffee_cart.py" target="_blank">test_coffee_cart.py</a>, which verifies an e-commerce site:</p>
|
371
|
+
<p align="left">📗 Here's <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/test_coffee_cart.py" target="_blank">SeleniumBase/examples/test_coffee_cart.py</a>, which verifies an e-commerce site:</p>
|
347
372
|
|
348
373
|
```zsh
|
349
374
|
pytest test_coffee_cart.py --demo
|
@@ -357,7 +382,7 @@ pytest test_coffee_cart.py --demo
|
|
357
382
|
|
358
383
|
<a id="multiple_examples"></a>
|
359
384
|
|
360
|
-
<p align="left">📗 Here's <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/test_demo_site.py" target="_blank">test_demo_site.py</a>, which covers several actions:</p>
|
385
|
+
<p align="left">📗 Here's <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/test_demo_site.py" target="_blank">SeleniumBase/examples/test_demo_site.py</a>, which covers several actions:</p>
|
361
386
|
|
362
387
|
```zsh
|
363
388
|
pytest test_demo_site.py
|
@@ -1,11 +1,11 @@
|
|
1
1
|
sbase/__init__.py,sha256=02izDj786GVBT0bpSq2Q2O8uwSxtyT09pnobZz91ML8,605
|
2
2
|
sbase/__main__.py,sha256=G0bVB1-DM4PGwQ1KyOupaWCs4ePbChZNNWuX2htim5U,647
|
3
|
-
sbase/steps.py,sha256=
|
3
|
+
sbase/steps.py,sha256=wiPSWZhFpBlWvkqXRJ18btpBu3nQaw9K5AzIJNAX5RM,43521
|
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=lW1bsuu6bfcTolOKhOYS4JYilMhQjsrs1y_bRRWXTAE,46
|
7
7
|
seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
8
|
-
seleniumbase/behave/behave_helper.py,sha256=
|
8
|
+
seleniumbase/behave/behave_helper.py,sha256=lJtagtivSbEpbRj0EKV4l4PuPU6NANONJJAnYwgVCe0,24379
|
9
9
|
seleniumbase/behave/behave_sb.py,sha256=guLihFsr1uJ4v2AR3r3Vy_BTeHrHwy2JEJxhp-MVnZA,59872
|
10
10
|
seleniumbase/behave/steps.py,sha256=8-N-NB2tnDsxaP4LSg-uSBgbwZYMS6ZEL1oggO1PCoU,390
|
11
11
|
seleniumbase/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -36,7 +36,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=tNy-bMDgwHJO3bZxMpmo9weSE8uhbH0C
|
|
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=1n60aRR3ulDFs9_363cT_i5Ehl_6-Wgx7Woo-nPH58U,248003
|
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
|
@@ -47,10 +47,10 @@ seleniumbase/core/jqc_helper.py,sha256=2DDQr9Q2jSSZqFzX588jLlUM9oJvyrRWq2aORSIPU
|
|
47
47
|
seleniumbase/core/log_helper.py,sha256=JvB3FyOJJkVAP5RZXUuap468LIacqlO1UsqtEAVTfG4,23612
|
48
48
|
seleniumbase/core/mysql.py,sha256=X1McqBWCzN9DndyBbNrVg9_kvtaByVhodiXYkGbn36A,3955
|
49
49
|
seleniumbase/core/proxy_helper.py,sha256=pZ1NboNfziHU3vWZLOZLX-qkfM3oKSnpc3omQf9EUQQ,8809
|
50
|
-
seleniumbase/core/recorder_helper.py,sha256=
|
50
|
+
seleniumbase/core/recorder_helper.py,sha256=gDION28OK4NAYsE-7ohKZ9Z3sxQQ0FEjf859LDpqsg4,25320
|
51
51
|
seleniumbase/core/report_helper.py,sha256=AIl6Qava2yW1uSzbLpJBlPlYDz0KE-rVhogh8hsGWBo,12201
|
52
52
|
seleniumbase/core/s3_manager.py,sha256=z_4qx2jI_gtK5r3niGXgEOBpfMUicUCOciowai50MP4,3529
|
53
|
-
seleniumbase/core/sb_cdp.py,sha256=
|
53
|
+
seleniumbase/core/sb_cdp.py,sha256=2q9-XRGaleEyN-rA27pFmvgAP0SYhLcE8AHFoA-818w,101689
|
54
54
|
seleniumbase/core/sb_driver.py,sha256=yUdS9_9OXTVaWzp1qY7msvnsvCK8X3FIcxMixb0BuBE,13827
|
55
55
|
seleniumbase/core/session_helper.py,sha256=s9zD3PVZEWVzG2h81cCUskbNWLfdjC_LwwQjKptHCak,558
|
56
56
|
seleniumbase/core/settings_parser.py,sha256=gqVohHVlE_5L5Cqe2L24uYrRzvoK-saX8E_Df7_-_3I,7609
|
@@ -67,7 +67,7 @@ seleniumbase/extensions/disable_csp.zip,sha256=5RvomXnm2PdivUVcxTV6jfvD8WhTEsQYH
|
|
67
67
|
seleniumbase/extensions/recorder.zip,sha256=JEE_FVEvlS63cFQbVLEroIyPSS91nWCDL0MhjVrmIpk,11813
|
68
68
|
seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
|
69
69
|
seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
70
|
-
seleniumbase/fixtures/base_case.py,sha256=
|
70
|
+
seleniumbase/fixtures/base_case.py,sha256=ENR8NXs-WVVl2CJHABwUyZikkxN3EF93Riv2ZQN3cno,741491
|
71
71
|
seleniumbase/fixtures/constants.py,sha256=WMrItuNyKq3XVJ64NluLIRc4gJCxDw8K8qXED0b9S2w,13752
|
72
72
|
seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
|
73
73
|
seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
|
@@ -137,9 +137,9 @@ seleniumbase/utilities/selenium_grid/start-grid-hub.bat,sha256=Ftq-GrAKRYH2ssDPr
|
|
137
137
|
seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443QFK8PryBpDmKn5Gy0s4o0vDSM,106
|
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.41.
|
141
|
-
seleniumbase-4.41.
|
142
|
-
seleniumbase-4.41.
|
143
|
-
seleniumbase-4.41.
|
144
|
-
seleniumbase-4.41.
|
145
|
-
seleniumbase-4.41.
|
140
|
+
seleniumbase-4.41.7.dist-info/licenses/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
|
141
|
+
seleniumbase-4.41.7.dist-info/METADATA,sha256=ioROH_wcB_a6pFPuHeuOkmfK7dYWoya9VyQqIRqKmXk,89268
|
142
|
+
seleniumbase-4.41.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
143
|
+
seleniumbase-4.41.7.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
144
|
+
seleniumbase-4.41.7.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
145
|
+
seleniumbase-4.41.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|