seleniumbase 4.33.2__py3-none-any.whl → 4.33.3__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- seleniumbase/__version__.py +1 -1
- seleniumbase/core/browser_launcher.py +5 -5
- seleniumbase/core/sb_cdp.py +9 -0
- seleniumbase/fixtures/base_case.py +11 -0
- seleniumbase/undetected/cdp_driver/tab.py +4 -0
- {seleniumbase-4.33.2.dist-info → seleniumbase-4.33.3.dist-info}/METADATA +2 -2
- {seleniumbase-4.33.2.dist-info → seleniumbase-4.33.3.dist-info}/RECORD +11 -11
- {seleniumbase-4.33.2.dist-info → seleniumbase-4.33.3.dist-info}/LICENSE +0 -0
- {seleniumbase-4.33.2.dist-info → seleniumbase-4.33.3.dist-info}/WHEEL +0 -0
- {seleniumbase-4.33.2.dist-info → seleniumbase-4.33.3.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.33.2.dist-info → seleniumbase-4.33.3.dist-info}/top_level.txt +0 -0
seleniumbase/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.33.
|
2
|
+
__version__ = "4.33.3"
|
@@ -606,6 +606,9 @@ def uc_open_with_cdp_mode(driver, url=None):
|
|
606
606
|
cdp.click_nth_element = CDPM.click_nth_element
|
607
607
|
cdp.click_nth_visible_element = CDPM.click_nth_visible_element
|
608
608
|
cdp.click_link = CDPM.click_link
|
609
|
+
cdp.go_back = CDPM.go_back
|
610
|
+
cdp.go_forward = CDPM.go_forward
|
611
|
+
cdp.get_navigation_history = CDPM.get_navigation_history
|
609
612
|
cdp.tile_windows = CDPM.tile_windows
|
610
613
|
cdp.get_all_cookies = CDPM.get_all_cookies
|
611
614
|
cdp.set_all_cookies = CDPM.set_all_cookies
|
@@ -1419,11 +1422,8 @@ def _uc_gui_handle_captcha_(driver, frame="iframe", ctype=None):
|
|
1419
1422
|
page_actions.switch_to_window(
|
1420
1423
|
driver, driver.current_window_handle, 2, uc_lock=False
|
1421
1424
|
)
|
1422
|
-
if (
|
1423
|
-
|
1424
|
-
and hasattr(pyautogui, "getActiveWindowTitle")
|
1425
|
-
):
|
1426
|
-
py_a_g_title = pyautogui.getActiveWindowTitle()
|
1425
|
+
if IS_WINDOWS and hasattr(pyautogui, "getActiveWindowTitle"):
|
1426
|
+
py_a_g_title = pyautogui.getActiveWindowTitle() or ""
|
1427
1427
|
window_title = driver.get_title()
|
1428
1428
|
if not py_a_g_title.startswith(window_title):
|
1429
1429
|
window_rect = driver.get_window_rect()
|
seleniumbase/core/sb_cdp.py
CHANGED
@@ -289,6 +289,15 @@ class CDPMethods():
|
|
289
289
|
def click_link(self, link_text):
|
290
290
|
self.find_elements_by_text(link_text, "a")[0].click()
|
291
291
|
|
292
|
+
def go_back(self):
|
293
|
+
self.loop.run_until_complete(self.page.back())
|
294
|
+
|
295
|
+
def go_forward(self):
|
296
|
+
self.loop.run_until_complete(self.page.forward())
|
297
|
+
|
298
|
+
def get_navigation_history(self):
|
299
|
+
return self.loop.run_until_complete(self.page.get_navigation_history())
|
300
|
+
|
292
301
|
def __clear_input(self, element):
|
293
302
|
return (
|
294
303
|
self.loop.run_until_complete(element.clear_input_async())
|
@@ -1323,6 +1323,9 @@ class BaseCase(unittest.TestCase):
|
|
1323
1323
|
|
1324
1324
|
def go_back(self):
|
1325
1325
|
self.__check_scope()
|
1326
|
+
if self.__is_cdp_swap_needed():
|
1327
|
+
self.cdp.go_back()
|
1328
|
+
return
|
1326
1329
|
if hasattr(self, "recorder_mode") and self.recorder_mode:
|
1327
1330
|
self.save_recorded_actions()
|
1328
1331
|
pre_action_url = None
|
@@ -1348,6 +1351,9 @@ class BaseCase(unittest.TestCase):
|
|
1348
1351
|
|
1349
1352
|
def go_forward(self):
|
1350
1353
|
self.__check_scope()
|
1354
|
+
if self.__is_cdp_swap_needed():
|
1355
|
+
self.cdp.go_forward()
|
1356
|
+
return
|
1351
1357
|
if hasattr(self, "recorder_mode") and self.recorder_mode:
|
1352
1358
|
self.save_recorded_actions()
|
1353
1359
|
self.__last_page_load_url = None
|
@@ -1732,6 +1738,9 @@ class BaseCase(unittest.TestCase):
|
|
1732
1738
|
if self.timeout_multiplier and timeout == settings.SMALL_TIMEOUT:
|
1733
1739
|
timeout = self.__get_new_timeout(timeout)
|
1734
1740
|
partial_link_text = self.__get_type_checked_text(partial_link_text)
|
1741
|
+
if self.__is_cdp_swap_needed():
|
1742
|
+
self.cdp.find_element(partial_link_text, timeout=timeout).click()
|
1743
|
+
return
|
1735
1744
|
if not self.is_partial_link_text_present(partial_link_text):
|
1736
1745
|
self.wait_for_partial_link_text_present(
|
1737
1746
|
partial_link_text, timeout=timeout
|
@@ -8133,6 +8142,8 @@ class BaseCase(unittest.TestCase):
|
|
8133
8142
|
def is_chromium(self):
|
8134
8143
|
"""Return True if the browser is Chrome or Edge."""
|
8135
8144
|
self.__check_scope()
|
8145
|
+
if self.__is_cdp_swap_needed():
|
8146
|
+
return True
|
8136
8147
|
chromium = False
|
8137
8148
|
if (
|
8138
8149
|
"chrome" in self.driver.capabilities
|
@@ -636,6 +636,10 @@ class Tab(Connection):
|
|
636
636
|
"""History forward"""
|
637
637
|
await self.send(cdp.runtime.evaluate("window.history.forward()"))
|
638
638
|
|
639
|
+
async def get_navigation_history(self):
|
640
|
+
"""Get Navigation History"""
|
641
|
+
return await self.send(cdp.page.get_navigation_history())
|
642
|
+
|
639
643
|
async def reload(
|
640
644
|
self,
|
641
645
|
ignore_cache: Optional[bool] = True,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.33.
|
3
|
+
Version: 4.33.3
|
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
|
@@ -105,7 +105,7 @@ Requires-Dist: execnet==2.1.1
|
|
105
105
|
Requires-Dist: iniconfig==2.0.0
|
106
106
|
Requires-Dist: pluggy==1.5.0
|
107
107
|
Requires-Dist: py==1.11.0
|
108
|
-
Requires-Dist: pytest==8.3.
|
108
|
+
Requires-Dist: pytest==8.3.4
|
109
109
|
Requires-Dist: pytest-html==2.0.1
|
110
110
|
Requires-Dist: pytest-metadata==3.1.1
|
111
111
|
Requires-Dist: pytest-ordering==0.6
|
@@ -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=OtJh8nGKL4xtZpw8KPqmn7Q6R-86t4cWUDyVF5MbMTo,2398
|
5
5
|
seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
|
6
|
-
seleniumbase/__version__.py,sha256=
|
6
|
+
seleniumbase/__version__.py,sha256=b9CFhb2bSkJaSVPoCfXxUM8ff_Ki-2b4bCUxhDAADOc,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=-hza7Nx2U41mSObYiPMi48v3JlPh3sJO3yzP0kqZ1Gk,59174
|
@@ -36,7 +36,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=tNy-bMDgwHJO3bZxMpmo9weSE8uhbH0C
|
|
36
36
|
seleniumbase/console_scripts/sb_recorder.py,sha256=fnHb5-kh11Hit-E9Ha-e4QXzqLcZvtij6mb5qNd4B1Q,11032
|
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=ua9a6UfYWzKMFG-R4Jvrk1gkh4RPt7IOTGyp_siCYjQ,221101
|
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,7 +50,7 @@ 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=
|
53
|
+
seleniumbase/core/sb_cdp.py,sha256=NyiooRREzeRQYITMiE9b0WwcH3-u8tMsy-cLJSnxerc,67644
|
54
54
|
seleniumbase/core/sb_driver.py,sha256=NGa4adi8OAi2WFtFkEguXg3JCd1p-JuZweIpGNifEfU,13488
|
55
55
|
seleniumbase/core/session_helper.py,sha256=s9zD3PVZEWVzG2h81cCUskbNWLfdjC_LwwQjKptHCak,558
|
56
56
|
seleniumbase/core/settings_parser.py,sha256=KokVXpCiGZhJ-D4Bo-hizPz5r-iefzWoiTANu9zNaq4,7504
|
@@ -65,7 +65,7 @@ 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=
|
68
|
+
seleniumbase/fixtures/base_case.py,sha256=qitMs026hzMdVlWxhN9WNvqR2W9h6q2Ofmorycq4I-Q,717445
|
69
69
|
seleniumbase/fixtures/constants.py,sha256=e1LppavlrAcI4XBJMq7u5j8SffaQ7SPQps1y0YvZYfY,13649
|
70
70
|
seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
|
71
71
|
seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
|
@@ -120,7 +120,7 @@ seleniumbase/undetected/cdp_driver/cdp_util.py,sha256=YhtD2Tm6PLIy9VKbgk8lHdGniS
|
|
120
120
|
seleniumbase/undetected/cdp_driver/config.py,sha256=Rjvde7V-XJ0ihZdTmOmHEVWSuDWm3SprQ3njg8SN3Go,12087
|
121
121
|
seleniumbase/undetected/cdp_driver/connection.py,sha256=sOTUGjbUqKA2hPvDcRCdqw1VQjVGJs7mbgVvzS7ldtE,23360
|
122
122
|
seleniumbase/undetected/cdp_driver/element.py,sha256=wEHtuF9oiny7cb4QMMjdtD5Yf1z3WOs2_NHEWcscusM,40289
|
123
|
-
seleniumbase/undetected/cdp_driver/tab.py,sha256=
|
123
|
+
seleniumbase/undetected/cdp_driver/tab.py,sha256=cmSUg9fRnIVYgeqs-t8Tcg1FrSVIrM5IBQmCMzvl4OQ,50678
|
124
124
|
seleniumbase/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
125
125
|
seleniumbase/utilities/selenium_grid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
126
126
|
seleniumbase/utilities/selenium_grid/download_selenium_server.py,sha256=ZdoInIbhtmdKCIPxxtJHhd2sqotqcNXWMYbwWrkh9O0,1727
|
@@ -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.33.
|
139
|
-
seleniumbase-4.33.
|
140
|
-
seleniumbase-4.33.
|
141
|
-
seleniumbase-4.33.
|
142
|
-
seleniumbase-4.33.
|
143
|
-
seleniumbase-4.33.
|
138
|
+
seleniumbase-4.33.3.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
|
139
|
+
seleniumbase-4.33.3.dist-info/METADATA,sha256=3YY_YaHTz2H48ee9t80yTk55JOJY7pIuZwoucYGEx3U,86554
|
140
|
+
seleniumbase-4.33.3.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
141
|
+
seleniumbase-4.33.3.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
142
|
+
seleniumbase-4.33.3.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
143
|
+
seleniumbase-4.33.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|