seleniumbase 4.32.10__py3-none-any.whl → 4.32.10a2__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 +9 -27
- seleniumbase/core/sb_cdp.py +10 -32
- seleniumbase/core/sb_driver.py +2 -5
- seleniumbase/fixtures/base_case.py +8 -23
- seleniumbase/fixtures/constants.py +0 -1
- seleniumbase/fixtures/js_utils.py +5 -1
- seleniumbase/fixtures/page_actions.py +2 -0
- seleniumbase/fixtures/shared_utils.py +0 -11
- {seleniumbase-4.32.10.dist-info → seleniumbase-4.32.10a2.dist-info}/METADATA +2 -2
- {seleniumbase-4.32.10.dist-info → seleniumbase-4.32.10a2.dist-info}/RECORD +15 -15
- {seleniumbase-4.32.10.dist-info → seleniumbase-4.32.10a2.dist-info}/LICENSE +0 -0
- {seleniumbase-4.32.10.dist-info → seleniumbase-4.32.10a2.dist-info}/WHEEL +0 -0
- {seleniumbase-4.32.10.dist-info → seleniumbase-4.32.10a2.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.32.10.dist-info → seleniumbase-4.32.10a2.dist-info}/top_level.txt +0 -0
seleniumbase/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.32.
|
2
|
+
__version__ = "4.32.10a2"
|
@@ -544,8 +544,6 @@ def uc_open_with_cdp_mode(driver, url=None):
|
|
544
544
|
)
|
545
545
|
loop.run_until_complete(driver.cdp_base.wait(0))
|
546
546
|
|
547
|
-
gui_lock = fasteners.InterProcessLock(constants.MultiBrowser.PYAUTOGUILOCK)
|
548
|
-
|
549
547
|
if (
|
550
548
|
"chrome-extension://" in str(driver.cdp_base.main_tab)
|
551
549
|
and len(driver.cdp_base.tabs) >= 2
|
@@ -555,8 +553,7 @@ def uc_open_with_cdp_mode(driver, url=None):
|
|
555
553
|
|
556
554
|
for tab in driver.cdp_base.tabs[-1::-1]:
|
557
555
|
if "chrome-extension://" not in str(tab):
|
558
|
-
|
559
|
-
loop.run_until_complete(tab.activate())
|
556
|
+
loop.run_until_complete(tab.activate())
|
560
557
|
break
|
561
558
|
|
562
559
|
page_tab = None
|
@@ -569,20 +566,14 @@ def uc_open_with_cdp_mode(driver, url=None):
|
|
569
566
|
break
|
570
567
|
if page_tab:
|
571
568
|
loop.run_until_complete(page_tab.aopen())
|
572
|
-
|
573
|
-
loop.run_until_complete(page_tab.activate())
|
569
|
+
loop.run_until_complete(page_tab.activate())
|
574
570
|
|
575
571
|
loop.run_until_complete(driver.cdp_base.update_targets())
|
576
572
|
page = loop.run_until_complete(driver.cdp_base.get(url))
|
577
|
-
|
578
|
-
loop.run_until_complete(page.activate())
|
573
|
+
loop.run_until_complete(page.activate())
|
579
574
|
loop.run_until_complete(page.wait())
|
580
575
|
if not safe_url:
|
581
576
|
time.sleep(constants.UC.CDP_MODE_OPEN_WAIT)
|
582
|
-
if IS_WINDOWS:
|
583
|
-
time.sleep(constants.UC.EXTRA_WINDOWS_WAIT)
|
584
|
-
else:
|
585
|
-
time.sleep(0.012)
|
586
577
|
cdp = types.SimpleNamespace()
|
587
578
|
CDPM = sb_cdp.CDPMethods(loop, page, driver)
|
588
579
|
cdp.get = CDPM.get
|
@@ -618,6 +609,7 @@ def uc_open_with_cdp_mode(driver, url=None):
|
|
618
609
|
cdp.remove_element = CDPM.remove_element
|
619
610
|
cdp.remove_from_dom = CDPM.remove_from_dom
|
620
611
|
cdp.remove_elements = CDPM.remove_elements
|
612
|
+
cdp.scroll_into_view = CDPM.scroll_into_view
|
621
613
|
cdp.send_keys = CDPM.send_keys
|
622
614
|
cdp.press_keys = CDPM.press_keys
|
623
615
|
cdp.type = CDPM.type
|
@@ -688,12 +680,8 @@ def uc_open_with_cdp_mode(driver, url=None):
|
|
688
680
|
cdp.assert_title = CDPM.assert_title
|
689
681
|
cdp.assert_text = CDPM.assert_text
|
690
682
|
cdp.assert_exact_text = CDPM.assert_exact_text
|
691
|
-
cdp.scroll_into_view = CDPM.scroll_into_view
|
692
|
-
cdp.scroll_to_y = CDPM.scroll_to_y
|
693
|
-
cdp.scroll_to_top = CDPM.scroll_to_top
|
694
|
-
cdp.scroll_to_bottom = CDPM.scroll_to_bottom
|
695
|
-
cdp.scroll_up = CDPM.scroll_up
|
696
683
|
cdp.scroll_down = CDPM.scroll_down
|
684
|
+
cdp.scroll_up = CDPM.scroll_up
|
697
685
|
cdp.save_screenshot = CDPM.save_screenshot
|
698
686
|
cdp.page = page # async world
|
699
687
|
cdp.driver = driver.cdp_base # async world
|
@@ -1257,18 +1245,12 @@ def _uc_gui_click_captcha(
|
|
1257
1245
|
return
|
1258
1246
|
if x and y:
|
1259
1247
|
sb_config._saved_cf_x_y = (x, y)
|
1260
|
-
if
|
1261
|
-
|
1262
|
-
|
1263
|
-
|
1264
|
-
)
|
1265
|
-
else:
|
1266
|
-
driver.disconnect()
|
1248
|
+
if driver.is_element_present(".footer .clearfix .ray-id"):
|
1249
|
+
driver.uc_open_with_disconnect(driver.get_current_url(), 3.8)
|
1250
|
+
else:
|
1251
|
+
driver.disconnect()
|
1267
1252
|
with suppress(Exception):
|
1268
1253
|
_uc_gui_click_x_y(driver, x, y, timeframe=0.32)
|
1269
|
-
if __is_cdp_swap_needed(driver):
|
1270
|
-
time.sleep(float(constants.UC.RECONNECT_TIME) / 2.0)
|
1271
|
-
return
|
1272
1254
|
reconnect_time = (float(constants.UC.RECONNECT_TIME) / 2.0) + 0.6
|
1273
1255
|
if IS_LINUX:
|
1274
1256
|
reconnect_time = constants.UC.RECONNECT_TIME + 0.2
|
seleniumbase/core/sb_cdp.py
CHANGED
@@ -89,10 +89,6 @@ class CDPMethods():
|
|
89
89
|
safe_url = False
|
90
90
|
if not safe_url:
|
91
91
|
time.sleep(constants.UC.CDP_MODE_OPEN_WAIT)
|
92
|
-
if shared_utils.is_windows():
|
93
|
-
time.sleep(constants.UC.EXTRA_WINDOWS_WAIT)
|
94
|
-
else:
|
95
|
-
time.sleep(0.012)
|
96
92
|
self.__slow_mode_pause_if_set()
|
97
93
|
self.loop.run_until_complete(self.page.wait())
|
98
94
|
|
@@ -582,6 +578,9 @@ class CDPMethods():
|
|
582
578
|
with suppress(Exception):
|
583
579
|
self.loop.run_until_complete(self.page.evaluate(js_code))
|
584
580
|
|
581
|
+
def scroll_into_view(self, selector):
|
582
|
+
self.find_element(selector).scroll_into_view()
|
583
|
+
|
585
584
|
def send_keys(self, selector, text, timeout=settings.SMALL_TIMEOUT):
|
586
585
|
self.__slow_mode_pause_if_set()
|
587
586
|
element = self.select(selector, timeout=timeout)
|
@@ -1522,36 +1521,15 @@ class CDPMethods():
|
|
1522
1521
|
% (text, element.text_all, selector)
|
1523
1522
|
)
|
1524
1523
|
|
1525
|
-
def
|
1526
|
-
self.
|
1527
|
-
|
1528
|
-
|
1529
|
-
def scroll_to_y(self, y):
|
1530
|
-
y = int(y)
|
1531
|
-
js_code = "window.scrollTo(0, %s);" % y
|
1532
|
-
with suppress(Exception):
|
1533
|
-
self.loop.run_until_complete(self.page.evaluate(js_code))
|
1534
|
-
self.loop.run_until_complete(self.page.wait())
|
1535
|
-
|
1536
|
-
def scroll_to_top(self):
|
1537
|
-
js_code = "window.scrollTo(0, 0);"
|
1538
|
-
with suppress(Exception):
|
1539
|
-
self.loop.run_until_complete(self.page.evaluate(js_code))
|
1540
|
-
self.loop.run_until_complete(self.page.wait())
|
1541
|
-
|
1542
|
-
def scroll_to_bottom(self):
|
1543
|
-
js_code = "window.scrollTo(0, 10000);"
|
1544
|
-
with suppress(Exception):
|
1545
|
-
self.loop.run_until_complete(self.page.evaluate(js_code))
|
1546
|
-
self.loop.run_until_complete(self.page.wait())
|
1524
|
+
def scroll_down(self, amount=25):
|
1525
|
+
self.loop.run_until_complete(
|
1526
|
+
self.page.scroll_down(amount)
|
1527
|
+
)
|
1547
1528
|
|
1548
1529
|
def scroll_up(self, amount=25):
|
1549
|
-
self.loop.run_until_complete(
|
1550
|
-
|
1551
|
-
|
1552
|
-
def scroll_down(self, amount=25):
|
1553
|
-
self.loop.run_until_complete(self.page.scroll_down(amount))
|
1554
|
-
self.loop.run_until_complete(self.page.wait())
|
1530
|
+
self.loop.run_until_complete(
|
1531
|
+
self.page.scroll_up(amount)
|
1532
|
+
)
|
1555
1533
|
|
1556
1534
|
def save_screenshot(self, name, folder=None, selector=None):
|
1557
1535
|
filename = name
|
seleniumbase/core/sb_driver.py
CHANGED
@@ -249,11 +249,8 @@ class DriverMethods():
|
|
249
249
|
selector = kwargs["selector"]
|
250
250
|
else:
|
251
251
|
selector = args[0]
|
252
|
-
|
253
|
-
|
254
|
-
return
|
255
|
-
else:
|
256
|
-
self.driver.connect()
|
252
|
+
self.driver.cdp.highlight(selector)
|
253
|
+
return
|
257
254
|
if "scroll" in kwargs:
|
258
255
|
kwargs.pop("scroll")
|
259
256
|
w_args = kwargs.copy()
|
@@ -6144,9 +6144,6 @@ class BaseCase(unittest.TestCase):
|
|
6144
6144
|
original_selector = selector
|
6145
6145
|
original_by = by
|
6146
6146
|
selector, by = self.__recalculate_selector(selector, by)
|
6147
|
-
if self.__is_cdp_swap_needed() and ":contains(" not in selector:
|
6148
|
-
self.cdp.scroll_into_view(selector)
|
6149
|
-
return
|
6150
6147
|
element = self.wait_for_element_visible(
|
6151
6148
|
original_selector, by=original_by, timeout=timeout
|
6152
6149
|
)
|
@@ -6193,36 +6190,24 @@ class BaseCase(unittest.TestCase):
|
|
6193
6190
|
def scroll_to_top(self):
|
6194
6191
|
"""Scroll to the top of the page."""
|
6195
6192
|
self.__check_scope()
|
6196
|
-
if self.__is_cdp_swap_needed():
|
6197
|
-
self.cdp.scroll_to_top()
|
6198
|
-
return
|
6199
6193
|
scroll_script = "window.scrollTo(0, 0);"
|
6200
|
-
|
6194
|
+
try:
|
6201
6195
|
self.execute_script(scroll_script)
|
6202
6196
|
time.sleep(0.012)
|
6197
|
+
return True
|
6198
|
+
except Exception:
|
6199
|
+
return False
|
6203
6200
|
|
6204
6201
|
def scroll_to_bottom(self):
|
6205
6202
|
"""Scroll to the bottom of the page."""
|
6206
6203
|
self.__check_scope()
|
6207
|
-
if self.__is_cdp_swap_needed():
|
6208
|
-
self.cdp.scroll_to_bottom()
|
6209
|
-
return
|
6210
6204
|
scroll_script = "window.scrollTo(0, 10000);"
|
6211
|
-
|
6212
|
-
self.execute_script(scroll_script)
|
6213
|
-
time.sleep(0.012)
|
6214
|
-
|
6215
|
-
def scroll_to_y(self, y):
|
6216
|
-
"""Scroll to y position on the page."""
|
6217
|
-
self.__check_scope()
|
6218
|
-
y = int(y)
|
6219
|
-
if self.__is_cdp_swap_needed():
|
6220
|
-
self.cdp.scroll_to_y(y)
|
6221
|
-
return
|
6222
|
-
scroll_script = "window.scrollTo(0, %s);" % y
|
6223
|
-
with suppress(Exception):
|
6205
|
+
try:
|
6224
6206
|
self.execute_script(scroll_script)
|
6225
6207
|
time.sleep(0.012)
|
6208
|
+
return True
|
6209
|
+
except Exception:
|
6210
|
+
return False
|
6226
6211
|
|
6227
6212
|
def click_xpath(self, xpath):
|
6228
6213
|
"""Technically, self.click() automatically detects xpath selectors,
|
@@ -10,7 +10,6 @@ from seleniumbase import config as sb_config
|
|
10
10
|
from seleniumbase.config import settings
|
11
11
|
from seleniumbase.fixtures import constants
|
12
12
|
from seleniumbase.fixtures import css_to_xpath
|
13
|
-
from seleniumbase.fixtures import shared_utils
|
14
13
|
from seleniumbase.fixtures import xpath_to_css
|
15
14
|
|
16
15
|
|
@@ -25,6 +24,9 @@ def wait_for_ready_state_complete(driver, timeout=settings.LARGE_TIMEOUT):
|
|
25
24
|
(Previously, tests would fail immediately if exceeding the timeout.)"""
|
26
25
|
if hasattr(settings, "SKIP_JS_WAITS") and settings.SKIP_JS_WAITS:
|
27
26
|
return
|
27
|
+
if sb_config.time_limit and not sb_config.recorder_mode:
|
28
|
+
from seleniumbase.fixtures import shared_utils
|
29
|
+
|
28
30
|
start_ms = time.time() * 1000.0
|
29
31
|
stop_ms = start_ms + (timeout * 1000.0)
|
30
32
|
for x in range(int(timeout * 10)):
|
@@ -241,6 +243,8 @@ def escape_quotes_if_needed(string):
|
|
241
243
|
def is_in_frame(driver):
|
242
244
|
# Returns True if the driver has switched to a frame.
|
243
245
|
# Returns False if the driver was on default content.
|
246
|
+
from seleniumbase.fixtures import shared_utils
|
247
|
+
|
244
248
|
if shared_utils.is_cdp_swap_needed(driver):
|
245
249
|
return False
|
246
250
|
in_basic_frame = driver.execute_script(
|
@@ -1555,6 +1555,8 @@ def _reconnect_if_disconnected(driver):
|
|
1555
1555
|
if (
|
1556
1556
|
hasattr(driver, "_is_using_uc")
|
1557
1557
|
and driver._is_using_uc
|
1558
|
+
and hasattr(driver, "_is_connected")
|
1559
|
+
and not driver._is_connected
|
1558
1560
|
and hasattr(driver, "is_connected")
|
1559
1561
|
and not driver.is_connected()
|
1560
1562
|
):
|
@@ -84,17 +84,6 @@ def fix_url_as_needed(url):
|
|
84
84
|
return url
|
85
85
|
|
86
86
|
|
87
|
-
def reconnect_if_disconnected(driver):
|
88
|
-
if (
|
89
|
-
hasattr(driver, "_is_using_uc")
|
90
|
-
and driver._is_using_uc
|
91
|
-
and hasattr(driver, "is_connected")
|
92
|
-
and not driver.is_connected()
|
93
|
-
):
|
94
|
-
with suppress(Exception):
|
95
|
-
driver.connect()
|
96
|
-
|
97
|
-
|
98
87
|
def is_cdp_swap_needed(driver):
|
99
88
|
"""
|
100
89
|
When someone is using CDP Mode with a disconnected webdriver,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.32.
|
3
|
+
Version: 4.32.10a2
|
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
|
@@ -127,7 +127,7 @@ Requires-Dist: allure-behave>=2.13.5; extra == "allure"
|
|
127
127
|
Provides-Extra: coverage
|
128
128
|
Requires-Dist: coverage>=7.6.1; python_version < "3.9" and extra == "coverage"
|
129
129
|
Requires-Dist: pytest-cov>=5.0.0; python_version < "3.9" and extra == "coverage"
|
130
|
-
Requires-Dist: coverage>=7.6.
|
130
|
+
Requires-Dist: coverage>=7.6.4; python_version >= "3.9" and extra == "coverage"
|
131
131
|
Requires-Dist: pytest-cov>=6.0.0; python_version >= "3.9" and extra == "coverage"
|
132
132
|
Provides-Extra: flake8
|
133
133
|
Requires-Dist: mccabe==0.7.0; extra == "flake8"
|
@@ -3,7 +3,7 @@ sbase/__main__.py,sha256=G0bVB1-DM4PGwQ1KyOupaWCs4ePbChZNNWuX2htim5U,647
|
|
3
3
|
sbase/steps.py,sha256=bKT_u5bJkKzYWEuAXi9NVVRYYxQRCM1_YJUrNFFRVPY,42865
|
4
4
|
seleniumbase/__init__.py,sha256=OtJh8nGKL4xtZpw8KPqmn7Q6R-86t4cWUDyVF5MbMTo,2398
|
5
5
|
seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
|
6
|
-
seleniumbase/__version__.py,sha256=
|
6
|
+
seleniumbase/__version__.py,sha256=DhXDI1N_CDARJMnRISb4c1sjUq05uNArv7Z4T6iANno,49
|
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=-hza7Nx2U41mSObYiPMi48v3JlPh3sJO3yzP0kqZ1Gk,59174
|
@@ -36,7 +36,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=tNy-bMDgwHJO3bZxMpmo9weSE8uhbH0C
|
|
36
36
|
seleniumbase/console_scripts/sb_recorder.py,sha256=1oAA4wFzVboNhIFDwJLD3jgy9RuoavywKQG7R67bNZE,10908
|
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=fsq6Ip_2C5Ih_TsOr5-5kU1gPS0mSwG_2DkJbMB_Is0,219081
|
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
|
@@ -50,8 +50,8 @@ seleniumbase/core/proxy_helper.py,sha256=cXhu8ErK9Vjdm82RMaQj7hEq_yUWizSp6LyiD50
|
|
50
50
|
seleniumbase/core/recorder_helper.py,sha256=fNGjbapXmEsht54x1o6Igk198QdnPxDDnjUOzQxNhNQ,25055
|
51
51
|
seleniumbase/core/report_helper.py,sha256=AIl6Qava2yW1uSzbLpJBlPlYDz0KE-rVhogh8hsGWBo,12201
|
52
52
|
seleniumbase/core/s3_manager.py,sha256=bkeI8I4y19ebWuQG1oEZV5qJbotC6eN8vin31OCNWJk,3521
|
53
|
-
seleniumbase/core/sb_cdp.py,sha256=
|
54
|
-
seleniumbase/core/sb_driver.py,sha256=
|
53
|
+
seleniumbase/core/sb_cdp.py,sha256=CPQvyJ8v_xozVdGt5g9JFjo0aYsLaOEm9gnthpysrOc,59586
|
54
|
+
seleniumbase/core/sb_driver.py,sha256=Yd9BpjnOUuZqYRGmsERVKc1W-e8qwTt7SAytLatkXPA,12070
|
55
55
|
seleniumbase/core/session_helper.py,sha256=s9zD3PVZEWVzG2h81cCUskbNWLfdjC_LwwQjKptHCak,558
|
56
56
|
seleniumbase/core/settings_parser.py,sha256=KokVXpCiGZhJ-D4Bo-hizPz5r-iefzWoiTANu9zNaq4,7504
|
57
57
|
seleniumbase/core/style_sheet.py,sha256=tPpJ1xl6Kuw425Z-3Y0OgVRLGXk_ciBDREZjXk_NuPE,11395
|
@@ -65,14 +65,14 @@ seleniumbase/extensions/disable_csp.zip,sha256=YMifIIgEBiLrEFrS1sfW4Exh4br1V4oK1
|
|
65
65
|
seleniumbase/extensions/recorder.zip,sha256=OOyzF-Ize2cSRu1CqhzSAq5vusI9hqLLd2OIApUHesI,11918
|
66
66
|
seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
|
67
67
|
seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
68
|
-
seleniumbase/fixtures/base_case.py,sha256=
|
69
|
-
seleniumbase/fixtures/constants.py,sha256=
|
68
|
+
seleniumbase/fixtures/base_case.py,sha256=ad--jkCZk2CTzXXk4_ncrI8nqWgHhGPjVmS3vHhnplQ,712849
|
69
|
+
seleniumbase/fixtures/constants.py,sha256=XYYMpB-ZDI756LvfhSK9RxdqQ_qO9fJVXgBqBYlQNkk,13609
|
70
70
|
seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
|
71
71
|
seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
|
72
|
-
seleniumbase/fixtures/js_utils.py,sha256=
|
73
|
-
seleniumbase/fixtures/page_actions.py,sha256=
|
72
|
+
seleniumbase/fixtures/js_utils.py,sha256=5o4CTLcCyd717lJ_atOYcC6kPRiZFx-LJIlixRrP_cE,51061
|
73
|
+
seleniumbase/fixtures/page_actions.py,sha256=fOCb2NB2PpEaE8gpAVu-73VjwLzfwP1R9HsRkix_z6s,66634
|
74
74
|
seleniumbase/fixtures/page_utils.py,sha256=5m7iXpikLs80TJoRO6_gEfXE1AKeQgcH1aFbR8o1C9A,12034
|
75
|
-
seleniumbase/fixtures/shared_utils.py,sha256=
|
75
|
+
seleniumbase/fixtures/shared_utils.py,sha256=MwCrt58YAv_XrfNfYjo_quUTWfYArlnf-aexSZGIyRs,7271
|
76
76
|
seleniumbase/fixtures/unittest_helper.py,sha256=sfZ92rZeBAn_sF_yQ3I6_I7h3lyU5-cV_UMegBNoEm8,1294
|
77
77
|
seleniumbase/fixtures/words.py,sha256=FOA4mAYvl3EPVpBTvgvK6YwCL8BdlRCmed685kEe7Vg,7827
|
78
78
|
seleniumbase/fixtures/xpath_to_css.py,sha256=lML56k656fElXJ4NJF07r35FjctrbgQkXUotNk7A-as,8876
|
@@ -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.32.
|
139
|
-
seleniumbase-4.32.
|
140
|
-
seleniumbase-4.32.
|
141
|
-
seleniumbase-4.32.
|
142
|
-
seleniumbase-4.32.
|
143
|
-
seleniumbase-4.32.
|
138
|
+
seleniumbase-4.32.10a2.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
|
139
|
+
seleniumbase-4.32.10a2.dist-info/METADATA,sha256=0JyQxemq40Q9x2UAb9NuhSv78XL2Kjg7VsnDCxvBhqw,86464
|
140
|
+
seleniumbase-4.32.10a2.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
|
141
|
+
seleniumbase-4.32.10a2.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
142
|
+
seleniumbase-4.32.10a2.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
143
|
+
seleniumbase-4.32.10a2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|