seleniumbase 4.28.2__py3-none-any.whl → 4.28.3__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 +1 -1
- seleniumbase/fixtures/page_actions.py +15 -5
- {seleniumbase-4.28.2.dist-info → seleniumbase-4.28.3.dist-info}/METADATA +1 -1
- {seleniumbase-4.28.2.dist-info → seleniumbase-4.28.3.dist-info}/RECORD +9 -9
- {seleniumbase-4.28.2.dist-info → seleniumbase-4.28.3.dist-info}/LICENSE +0 -0
- {seleniumbase-4.28.2.dist-info → seleniumbase-4.28.3.dist-info}/WHEEL +0 -0
- {seleniumbase-4.28.2.dist-info → seleniumbase-4.28.3.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.28.2.dist-info → seleniumbase-4.28.3.dist-info}/top_level.txt +0 -0
seleniumbase/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.28.
|
2
|
+
__version__ = "4.28.3"
|
@@ -672,7 +672,7 @@ def uc_gui_handle_cf(driver, frame="iframe"):
|
|
672
672
|
if not is_in_frame:
|
673
673
|
# Make sure the window is on top
|
674
674
|
page_actions.switch_to_window(
|
675
|
-
driver, driver.current_window_handle, 2
|
675
|
+
driver, driver.current_window_handle, 2, uc_lock=False
|
676
676
|
)
|
677
677
|
if not is_in_frame or needs_switch:
|
678
678
|
# Currently not in frame (or nested frame outside CF one)
|
@@ -1430,8 +1430,12 @@ def switch_to_frame(driver, frame, timeout=settings.SMALL_TIMEOUT):
|
|
1430
1430
|
timeout_exception(Exception, message)
|
1431
1431
|
|
1432
1432
|
|
1433
|
-
def __switch_to_window(driver, window_handle):
|
1434
|
-
if
|
1433
|
+
def __switch_to_window(driver, window_handle, uc_lock=True):
|
1434
|
+
if (
|
1435
|
+
hasattr(driver, "_is_using_uc")
|
1436
|
+
and driver._is_using_uc
|
1437
|
+
and uc_lock
|
1438
|
+
):
|
1435
1439
|
gui_lock = fasteners.InterProcessLock(
|
1436
1440
|
constants.MultiBrowser.PYAUTOGUILOCK
|
1437
1441
|
)
|
@@ -1442,7 +1446,12 @@ def __switch_to_window(driver, window_handle):
|
|
1442
1446
|
return True
|
1443
1447
|
|
1444
1448
|
|
1445
|
-
def switch_to_window(
|
1449
|
+
def switch_to_window(
|
1450
|
+
driver,
|
1451
|
+
window,
|
1452
|
+
timeout=settings.SMALL_TIMEOUT,
|
1453
|
+
uc_lock=True,
|
1454
|
+
):
|
1446
1455
|
"""
|
1447
1456
|
Wait for a window to appear, and switch to it. This should be usable
|
1448
1457
|
as a drop-in replacement for driver.switch_to.window().
|
@@ -1450,6 +1459,7 @@ def switch_to_window(driver, window, timeout=settings.SMALL_TIMEOUT):
|
|
1450
1459
|
driver - the webdriver object (required)
|
1451
1460
|
window - the window index or window handle
|
1452
1461
|
timeout - the time to wait for the window in seconds
|
1462
|
+
uc_lock - if UC Mode and True, switch_to_window() uses thread-locking
|
1453
1463
|
"""
|
1454
1464
|
if window == -1:
|
1455
1465
|
window = len(driver.window_handles) - 1
|
@@ -1465,7 +1475,7 @@ def switch_to_window(driver, window, timeout=settings.SMALL_TIMEOUT):
|
|
1465
1475
|
shared_utils.check_if_time_limit_exceeded()
|
1466
1476
|
try:
|
1467
1477
|
window_handle = driver.window_handles[window]
|
1468
|
-
__switch_to_window(driver, window_handle)
|
1478
|
+
__switch_to_window(driver, window_handle, uc_lock=uc_lock)
|
1469
1479
|
return True
|
1470
1480
|
except IndexError:
|
1471
1481
|
now_ms = time.time() * 1000.0
|
@@ -1486,7 +1496,7 @@ def switch_to_window(driver, window, timeout=settings.SMALL_TIMEOUT):
|
|
1486
1496
|
for x in range(int(timeout * 10)):
|
1487
1497
|
shared_utils.check_if_time_limit_exceeded()
|
1488
1498
|
try:
|
1489
|
-
__switch_to_window(driver, window_handle)
|
1499
|
+
__switch_to_window(driver, window_handle, uc_lock=uc_lock)
|
1490
1500
|
return True
|
1491
1501
|
except NoSuchWindowException:
|
1492
1502
|
now_ms = time.time() * 1000.0
|
@@ -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=dgq30q6wGO2fJOVYemxC5hLxzv-of-MRn5P1YarBq5k,2263
|
7
7
|
seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
|
8
|
-
seleniumbase/__version__.py,sha256=
|
8
|
+
seleniumbase/__version__.py,sha256=cyJCmfXb8uOXpicHMTRrUVntEJqA05hh6lLNfWjF15Y,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=q4uYZixZBf7VYWnQnEk2weTcyMy1X1faR3vyYvUzDiA,56406
|
@@ -40,7 +40,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=yo641b_OdSE0GUauOyxk-QrNeIjYzbRY
|
|
40
40
|
seleniumbase/console_scripts/sb_recorder.py,sha256=UQQhnAR18dbcC7ToDvj6TM2PIG5qBrNaekaM6kSK_E8,10970
|
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=yfmykwla-bp3_4GuaqWU27iFqwlpK6SKAnUV-8E8PUE,176819
|
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
|
@@ -75,7 +75,7 @@ seleniumbase/fixtures/constants.py,sha256=TapuGLdERtvZPGMblVXkNGybr8tj8FMtN3sbJ3
|
|
75
75
|
seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
|
76
76
|
seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
|
77
77
|
seleniumbase/fixtures/js_utils.py,sha256=y1FgWvrg7CjryqGnFhbmFIIVYMzQfYZhwppYae87UCo,51158
|
78
|
-
seleniumbase/fixtures/page_actions.py,sha256=
|
78
|
+
seleniumbase/fixtures/page_actions.py,sha256=_LBmIqKBdRlgrKnl6aKUcHbns1GC18_YNvuRniRv1V8,63066
|
79
79
|
seleniumbase/fixtures/page_utils.py,sha256=QmAvTlT0j0ESf1IgvyXwHJapJakFM7QqBLXnHXgaeJw,12596
|
80
80
|
seleniumbase/fixtures/shared_utils.py,sha256=Fc78v0OxfLPOPqeT8ExsdkTgXHlmpxvJeLbLyDnu1dI,5748
|
81
81
|
seleniumbase/fixtures/unittest_helper.py,sha256=sfZ92rZeBAn_sF_yQ3I6_I7h3lyU5-cV_UMegBNoEm8,1294
|
@@ -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.28.
|
141
|
-
seleniumbase-4.28.
|
142
|
-
seleniumbase-4.28.
|
143
|
-
seleniumbase-4.28.
|
144
|
-
seleniumbase-4.28.
|
145
|
-
seleniumbase-4.28.
|
140
|
+
seleniumbase-4.28.3.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
|
141
|
+
seleniumbase-4.28.3.dist-info/METADATA,sha256=4WCGrn2N9VQ1B4bYngQH6pwVZVvrWZ0TUwKYK0yfWZw,85546
|
142
|
+
seleniumbase-4.28.3.dist-info/WHEEL,sha256=mguMlWGMX-VHnMpKOjjQidIo1ssRlCFu4a4mBpz1s2M,91
|
143
|
+
seleniumbase-4.28.3.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
144
|
+
seleniumbase-4.28.3.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
145
|
+
seleniumbase-4.28.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|