seleniumbase 4.24.10__py3-none-any.whl → 4.24.12__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/config/proxy_list.py +3 -3
- seleniumbase/core/browser_launcher.py +21 -12
- seleniumbase/core/detect_b_ver.py +7 -8
- seleniumbase/fixtures/base_case.py +10 -39
- seleniumbase/fixtures/constants.py +1 -1
- seleniumbase/fixtures/js_utils.py +39 -0
- seleniumbase/undetected/webelement.py +10 -3
- {seleniumbase-4.24.10.dist-info → seleniumbase-4.24.12.dist-info}/METADATA +2 -2
- {seleniumbase-4.24.10.dist-info → seleniumbase-4.24.12.dist-info}/RECORD +14 -14
- {seleniumbase-4.24.10.dist-info → seleniumbase-4.24.12.dist-info}/LICENSE +0 -0
- {seleniumbase-4.24.10.dist-info → seleniumbase-4.24.12.dist-info}/WHEEL +0 -0
- {seleniumbase-4.24.10.dist-info → seleniumbase-4.24.12.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.24.10.dist-info → seleniumbase-4.24.12.dist-info}/top_level.txt +0 -0
seleniumbase/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.24.
|
2
|
+
__version__ = "4.24.12"
|
@@ -23,9 +23,9 @@ you can try finding one from one of following sites:
|
|
23
23
|
"""
|
24
24
|
|
25
25
|
PROXY_LIST = {
|
26
|
-
"example1": "
|
27
|
-
"example2": "
|
28
|
-
"example3": "socks5://
|
26
|
+
"example1": "35.185.196.38:3128", # (Example) - set your own proxy here
|
27
|
+
"example2": "129.80.134.71:3128", # (Example)
|
28
|
+
"example3": "socks5://184.178.172.5:15303", # (Example)
|
29
29
|
"proxy1": None,
|
30
30
|
"proxy2": None,
|
31
31
|
"proxy3": None,
|
@@ -463,11 +463,16 @@ def uc_click(
|
|
463
463
|
except Exception:
|
464
464
|
pass
|
465
465
|
element = driver.wait_for_selector(selector, by=by, timeout=timeout)
|
466
|
-
|
466
|
+
tag_name = element.tag_name
|
467
|
+
if not tag_name == "span": # Element must be "visible"
|
467
468
|
element = driver.wait_for_element(selector, by=by, timeout=timeout)
|
468
469
|
try:
|
469
470
|
element.uc_click(
|
470
|
-
driver,
|
471
|
+
driver,
|
472
|
+
selector,
|
473
|
+
by=by,
|
474
|
+
reconnect_time=reconnect_time,
|
475
|
+
tag_name=tag_name,
|
471
476
|
)
|
472
477
|
except ElementClickInterceptedException:
|
473
478
|
time.sleep(0.16)
|
@@ -812,11 +817,12 @@ def _set_chrome_options(
|
|
812
817
|
chrome_options = webdriver.edge.options.Options()
|
813
818
|
prefs = {}
|
814
819
|
prefs["download.default_directory"] = downloads_path
|
815
|
-
prefs["local_discovery.notifications_enabled"] = False
|
816
|
-
prefs["credentials_enable_service"] = False
|
817
|
-
prefs["download.prompt_for_download"] = False
|
818
820
|
prefs["download.directory_upgrade"] = True
|
821
|
+
prefs["download.prompt_for_download"] = False
|
822
|
+
prefs["credentials_enable_service"] = False
|
823
|
+
prefs["local_discovery.notifications_enabled"] = False
|
819
824
|
prefs["safebrowsing.enabled"] = False
|
825
|
+
prefs["safebrowsing.disable_download_protection"] = True
|
820
826
|
prefs["omnibox-max-zero-suggest-matches"] = 0
|
821
827
|
prefs["omnibox-use-existing-autocomplete-client"] = 0
|
822
828
|
prefs["omnibox-trending-zero-prefix-suggestions-on-ntp"] = 0
|
@@ -827,9 +833,8 @@ def _set_chrome_options(
|
|
827
833
|
prefs["omnibox-zero-suggest-prefetching-on-srp"] = 0
|
828
834
|
prefs["omnibox-zero-suggest-prefetching-on-web"] = 0
|
829
835
|
prefs["omnibox-zero-suggest-in-memory-caching"] = 0
|
830
|
-
prefs["default_content_setting_values.notifications"] = 0
|
831
836
|
prefs["content_settings.exceptions.automatic_downloads.*.setting"] = 1
|
832
|
-
prefs["
|
837
|
+
prefs["default_content_setting_values.notifications"] = 0
|
833
838
|
prefs["default_content_settings.popups"] = 0
|
834
839
|
prefs["managed_default_content_settings.popups"] = 0
|
835
840
|
prefs["profile.password_manager_enabled"] = False
|
@@ -1142,6 +1147,7 @@ def _set_chrome_options(
|
|
1142
1147
|
included_disabled_features.append("PrivacySandboxSettings4")
|
1143
1148
|
included_disabled_features.append("DownloadBubble")
|
1144
1149
|
included_disabled_features.append("DownloadBubbleV2")
|
1150
|
+
included_disabled_features.append("InsecureDownloadWarnings")
|
1145
1151
|
for item in extra_disabled_features:
|
1146
1152
|
if item not in included_disabled_features:
|
1147
1153
|
included_disabled_features.append(item)
|
@@ -1153,6 +1159,7 @@ def _set_chrome_options(
|
|
1153
1159
|
included_disabled_features.append("OptimizationTargetPrediction")
|
1154
1160
|
included_disabled_features.append("DownloadBubble")
|
1155
1161
|
included_disabled_features.append("DownloadBubbleV2")
|
1162
|
+
included_disabled_features.append("InsecureDownloadWarnings")
|
1156
1163
|
for item in extra_disabled_features:
|
1157
1164
|
if item not in included_disabled_features:
|
1158
1165
|
included_disabled_features.append(item)
|
@@ -2367,10 +2374,11 @@ def get_local_driver(
|
|
2367
2374
|
elif browser_name == constants.Browser.EDGE:
|
2368
2375
|
prefs = {
|
2369
2376
|
"download.default_directory": downloads_path,
|
2370
|
-
"local_discovery.notifications_enabled": False,
|
2371
|
-
"credentials_enable_service": False,
|
2372
|
-
"download.prompt_for_download": False,
|
2373
2377
|
"download.directory_upgrade": True,
|
2378
|
+
"download.prompt_for_download": False,
|
2379
|
+
"credentials_enable_service": False,
|
2380
|
+
"local_discovery.notifications_enabled": False,
|
2381
|
+
"safebrowsing.disable_download_protection": True,
|
2374
2382
|
"safebrowsing.enabled": False,
|
2375
2383
|
"omnibox-max-zero-suggest-matches": 0,
|
2376
2384
|
"omnibox-use-existing-autocomplete-client": 0,
|
@@ -2382,11 +2390,10 @@ def get_local_driver(
|
|
2382
2390
|
"omnibox-zero-suggest-prefetching-on-srp": 0,
|
2383
2391
|
"omnibox-zero-suggest-prefetching-on-web": 0,
|
2384
2392
|
"omnibox-zero-suggest-in-memory-caching": 0,
|
2385
|
-
"
|
2393
|
+
"content_settings.exceptions.automatic_downloads.*.setting": 1,
|
2386
2394
|
"default_content_setting_values.notifications": 0,
|
2387
2395
|
"default_content_settings.popups": 0,
|
2388
2396
|
"managed_default_content_settings.popups": 0,
|
2389
|
-
"content_settings.exceptions.automatic_downloads.*.setting": 1,
|
2390
2397
|
"profile.password_manager_enabled": False,
|
2391
2398
|
"profile.default_content_setting_values.notifications": 2,
|
2392
2399
|
"profile.default_content_settings.popups": 0,
|
@@ -2772,6 +2779,7 @@ def get_local_driver(
|
|
2772
2779
|
included_disabled_features.append("Translate")
|
2773
2780
|
included_disabled_features.append("OptimizationTargetPrediction")
|
2774
2781
|
included_disabled_features.append("PrivacySandboxSettings4")
|
2782
|
+
included_disabled_features.append("InsecureDownloadWarnings")
|
2775
2783
|
for item in extra_disabled_features:
|
2776
2784
|
if item not in included_disabled_features:
|
2777
2785
|
included_disabled_features.append(item)
|
@@ -2781,6 +2789,7 @@ def get_local_driver(
|
|
2781
2789
|
included_disabled_features.append("OptimizationHintsFetching")
|
2782
2790
|
included_disabled_features.append("Translate")
|
2783
2791
|
included_disabled_features.append("OptimizationTargetPrediction")
|
2792
|
+
included_disabled_features.append("InsecureDownloadWarnings")
|
2784
2793
|
for item in extra_disabled_features:
|
2785
2794
|
if item not in included_disabled_features:
|
2786
2795
|
included_disabled_features.append(item)
|
@@ -231,29 +231,28 @@ def get_binary_location(browser_type, prefer_chromium=False):
|
|
231
231
|
|
232
232
|
def get_browser_version_from_binary(binary_location):
|
233
233
|
try:
|
234
|
+
if not os.path.exists(binary_location):
|
235
|
+
return None
|
234
236
|
path = binary_location
|
235
237
|
pattern = r"\d+\.\d+\.\d+"
|
236
238
|
quad_pattern = r"\d+\.\d+\.\d+\.\d+"
|
237
|
-
if os_name() == OSType.WIN
|
239
|
+
if os_name() == OSType.WIN:
|
238
240
|
path = path.replace(r"\ ", r" ").replace("\\", "\\\\")
|
239
241
|
cmd_mapping = (
|
240
|
-
'''powershell -command "&{(Get-
|
241
|
-
'''.
|
242
|
+
'''powershell -command "&{(Get-Item -Path '%s')'''
|
243
|
+
'''.VersionInfo.FileVersion}"''' % path
|
242
244
|
)
|
243
245
|
quad_version = read_version_from_cmd(cmd_mapping, quad_pattern)
|
244
246
|
if quad_version and len(str(quad_version)) >= 9: # Eg. 122.0.0.0
|
245
247
|
return quad_version
|
246
|
-
|
247
|
-
if version and len(str(version)) >= 7: # Eg. 122.0.0
|
248
|
-
return version
|
248
|
+
return read_version_from_cmd(cmd_mapping, pattern)
|
249
249
|
if binary_location.count(r"\ ") != binary_location.count(" "):
|
250
250
|
binary_location = binary_location.replace(" ", r"\ ")
|
251
251
|
cmd_mapping = binary_location + " --version"
|
252
252
|
quad_version = read_version_from_cmd(cmd_mapping, quad_pattern)
|
253
253
|
if quad_version and len(str(quad_version)) >= 9:
|
254
254
|
return quad_version
|
255
|
-
|
256
|
-
return version
|
255
|
+
return read_version_from_cmd(cmd_mapping, pattern)
|
257
256
|
except Exception:
|
258
257
|
return None
|
259
258
|
|
@@ -1310,14 +1310,12 @@ class BaseCase(unittest.TestCase):
|
|
1310
1310
|
return self.get_page_title()
|
1311
1311
|
|
1312
1312
|
def get_user_agent(self):
|
1313
|
-
|
1314
|
-
return user_agent
|
1313
|
+
return self.execute_script("return navigator.userAgent;")
|
1315
1314
|
|
1316
1315
|
def get_locale_code(self):
|
1317
|
-
|
1316
|
+
return self.execute_script(
|
1318
1317
|
"return navigator.language || navigator.languages[0];"
|
1319
1318
|
)
|
1320
|
-
return locale_code
|
1321
1319
|
|
1322
1320
|
def go_back(self):
|
1323
1321
|
self.__check_scope()
|
@@ -2161,10 +2159,9 @@ class BaseCase(unittest.TestCase):
|
|
2161
2159
|
selector, by = self.__recalculate_selector(selector, by)
|
2162
2160
|
self.wait_for_ready_state_complete()
|
2163
2161
|
time.sleep(0.05)
|
2164
|
-
|
2162
|
+
return page_actions.find_visible_elements(
|
2165
2163
|
self.driver, selector, by, limit
|
2166
2164
|
)
|
2167
|
-
return v_elems
|
2168
2165
|
|
2169
2166
|
def click_visible_elements(
|
2170
2167
|
self, selector, by="css selector", limit=0, timeout=None
|
@@ -6450,8 +6447,7 @@ class BaseCase(unittest.TestCase):
|
|
6450
6447
|
except Exception:
|
6451
6448
|
pass
|
6452
6449
|
source = self.get_page_source()
|
6453
|
-
|
6454
|
-
return soup
|
6450
|
+
return BeautifulSoup(source, "html.parser")
|
6455
6451
|
|
6456
6452
|
def get_unique_links(self):
|
6457
6453
|
"""Get all unique links in the html of the page source.
|
@@ -6473,8 +6469,7 @@ class BaseCase(unittest.TestCase):
|
|
6473
6469
|
time.sleep(0.123)
|
6474
6470
|
soup = self.get_beautiful_soup(self.get_page_source())
|
6475
6471
|
page_url = self.get_current_url()
|
6476
|
-
|
6477
|
-
return links
|
6472
|
+
return page_utils._get_unique_links(page_url, soup)
|
6478
6473
|
|
6479
6474
|
def get_link_status_code(
|
6480
6475
|
self,
|
@@ -6493,13 +6488,12 @@ class BaseCase(unittest.TestCase):
|
|
6493
6488
|
timeout = self.__requests_timeout
|
6494
6489
|
if timeout < 1:
|
6495
6490
|
timeout = 1
|
6496
|
-
|
6491
|
+
return page_utils._get_link_status_code(
|
6497
6492
|
link,
|
6498
6493
|
allow_redirects=allow_redirects,
|
6499
6494
|
timeout=timeout,
|
6500
6495
|
verify=verify,
|
6501
6496
|
)
|
6502
|
-
return status_code
|
6503
6497
|
|
6504
6498
|
def assert_link_status_code_is_not_404(self, link):
|
6505
6499
|
status_code = str(self.get_link_status_code(link))
|
@@ -6735,8 +6729,7 @@ class BaseCase(unittest.TestCase):
|
|
6735
6729
|
pdf_text = self.__fix_unicode_conversion(pdf_text)
|
6736
6730
|
if wrap:
|
6737
6731
|
pdf_text = pdf_text.replace(" \n", " ")
|
6738
|
-
|
6739
|
-
return pdf_text
|
6732
|
+
return pdf_text.strip()
|
6740
6733
|
|
6741
6734
|
def assert_pdf_text(
|
6742
6735
|
self,
|
@@ -7741,8 +7734,7 @@ class BaseCase(unittest.TestCase):
|
|
7741
7734
|
|
7742
7735
|
def is_online(self):
|
7743
7736
|
"""Return True if connected to the Internet."""
|
7744
|
-
|
7745
|
-
return online
|
7737
|
+
return self.execute_script("return navigator.onLine;")
|
7746
7738
|
|
7747
7739
|
def is_chromium(self):
|
7748
7740
|
"""Return True if the browser is Chrome or Edge."""
|
@@ -7884,27 +7876,7 @@ class BaseCase(unittest.TestCase):
|
|
7884
7876
|
jQuery commands require a CSS_SELECTOR for finding elements.
|
7885
7877
|
This method should only be used for jQuery/JavaScript actions.
|
7886
7878
|
Pure JavaScript doesn't support using a:contains("LINK_TEXT")."""
|
7887
|
-
|
7888
|
-
return selector
|
7889
|
-
elif by == By.ID:
|
7890
|
-
return "#%s" % selector
|
7891
|
-
elif by == By.CLASS_NAME:
|
7892
|
-
return ".%s" % selector
|
7893
|
-
elif by == By.NAME:
|
7894
|
-
return '[name="%s"]' % selector
|
7895
|
-
elif by == By.TAG_NAME:
|
7896
|
-
return selector
|
7897
|
-
elif by == By.XPATH:
|
7898
|
-
return self.convert_xpath_to_css(selector)
|
7899
|
-
elif by == By.LINK_TEXT:
|
7900
|
-
return 'a:contains("%s")' % selector
|
7901
|
-
elif by == By.PARTIAL_LINK_TEXT:
|
7902
|
-
return 'a:contains("%s")' % selector
|
7903
|
-
else:
|
7904
|
-
raise Exception(
|
7905
|
-
"Exception: Could not convert {%s}(by=%s) to CSS_SELECTOR!"
|
7906
|
-
% (selector, by)
|
7907
|
-
)
|
7879
|
+
return js_utils.convert_to_css_selector(selector, by)
|
7908
7880
|
|
7909
7881
|
def set_value(
|
7910
7882
|
self, selector, text, by="css selector", timeout=None, scroll=True
|
@@ -13210,8 +13182,7 @@ class BaseCase(unittest.TestCase):
|
|
13210
13182
|
|
13211
13183
|
def __get_major_browser_version(self):
|
13212
13184
|
version = self.driver.__dict__["caps"]["browserVersion"]
|
13213
|
-
|
13214
|
-
return major_browser_version
|
13185
|
+
return version.split(".")[0]
|
13215
13186
|
|
13216
13187
|
def __get_href_from_link_text(self, link_text, hard_fail=True):
|
13217
13188
|
href = self.get_link_attribute(link_text, "href", hard_fail)
|
@@ -4,10 +4,12 @@ import requests
|
|
4
4
|
import time
|
5
5
|
from selenium.common.exceptions import NoSuchElementException
|
6
6
|
from selenium.common.exceptions import WebDriverException
|
7
|
+
from selenium.webdriver.common.by import By
|
7
8
|
from seleniumbase import config as sb_config
|
8
9
|
from seleniumbase.config import settings
|
9
10
|
from seleniumbase.fixtures import constants
|
10
11
|
from seleniumbase.fixtures import css_to_xpath
|
12
|
+
from seleniumbase.fixtures import xpath_to_css
|
11
13
|
|
12
14
|
|
13
15
|
def wait_for_ready_state_complete(driver, timeout=settings.LARGE_TIMEOUT):
|
@@ -93,6 +95,37 @@ def wait_for_angularjs(driver, timeout=settings.LARGE_TIMEOUT, **kwargs):
|
|
93
95
|
time.sleep(0.05)
|
94
96
|
|
95
97
|
|
98
|
+
def convert_to_css_selector(selector, by=By.CSS_SELECTOR):
|
99
|
+
if by == By.CSS_SELECTOR:
|
100
|
+
return selector
|
101
|
+
elif by == By.ID:
|
102
|
+
return "#%s" % selector
|
103
|
+
elif by == By.CLASS_NAME:
|
104
|
+
return ".%s" % selector
|
105
|
+
elif by == By.NAME:
|
106
|
+
return '[name="%s"]' % selector
|
107
|
+
elif by == By.TAG_NAME:
|
108
|
+
return selector
|
109
|
+
elif (
|
110
|
+
by == By.XPATH
|
111
|
+
or (
|
112
|
+
selector.startswith("/")
|
113
|
+
or selector.startswith("./")
|
114
|
+
or selector.startswith("(")
|
115
|
+
)
|
116
|
+
):
|
117
|
+
return xpath_to_css.convert_xpath_to_css(selector)
|
118
|
+
elif by == By.LINK_TEXT:
|
119
|
+
return 'a:contains("%s")' % selector
|
120
|
+
elif by == By.PARTIAL_LINK_TEXT:
|
121
|
+
return 'a:contains("%s")' % selector
|
122
|
+
else:
|
123
|
+
raise Exception(
|
124
|
+
"Exception: Could not convert {%s}(by=%s) to CSS_SELECTOR!"
|
125
|
+
% (selector, by)
|
126
|
+
)
|
127
|
+
|
128
|
+
|
96
129
|
def is_html_inspector_activated(driver):
|
97
130
|
try:
|
98
131
|
driver.execute_script("HTMLInspector;") # Fails if not defined
|
@@ -325,6 +358,12 @@ def swap_selector_and_by_if_reversed(selector, by):
|
|
325
358
|
return (selector, by)
|
326
359
|
|
327
360
|
|
361
|
+
def call_me_later(driver, script, ms):
|
362
|
+
"""Call script after ms passed."""
|
363
|
+
call = "function() {%s}" % script
|
364
|
+
driver.execute_script("window.setTimeout(%s, %s);" % (call, ms))
|
365
|
+
|
366
|
+
|
328
367
|
def highlight(driver, selector, by="css selector", loops=4):
|
329
368
|
"""For driver.highlight() / driver.page.highlight()"""
|
330
369
|
swap_selector_and_by_if_reversed(selector, by)
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import selenium.webdriver.remote.webelement
|
2
|
+
from seleniumbase.fixtures import js_utils
|
2
3
|
|
3
4
|
|
4
5
|
class WebElement(selenium.webdriver.remote.webelement.WebElement):
|
@@ -8,18 +9,24 @@ class WebElement(selenium.webdriver.remote.webelement.WebElement):
|
|
8
9
|
selector=None,
|
9
10
|
by=None,
|
10
11
|
reconnect_time=None,
|
12
|
+
tag_name=None,
|
11
13
|
):
|
12
14
|
if driver and selector and by:
|
13
|
-
|
15
|
+
if tag_name == "span" and ":contains" not in selector:
|
16
|
+
selector = js_utils.convert_to_css_selector(selector, by)
|
17
|
+
script = 'document.querySelector("%s").click();' % selector
|
18
|
+
js_utils.call_me_later(driver, script, 111)
|
19
|
+
else:
|
20
|
+
driver.js_click(selector, by=by, timeout=1)
|
14
21
|
else:
|
15
22
|
super().click()
|
16
23
|
if not reconnect_time:
|
17
|
-
self._parent.reconnect(0.
|
24
|
+
self._parent.reconnect(0.5)
|
18
25
|
else:
|
19
26
|
self._parent.reconnect(reconnect_time)
|
20
27
|
|
21
28
|
def uc_reconnect(self, reconnect_time=None):
|
22
29
|
if not reconnect_time:
|
23
|
-
self._parent.reconnect(0.
|
30
|
+
self._parent.reconnect(0.2)
|
24
31
|
else:
|
25
32
|
self._parent.reconnect(reconnect_time)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.24.
|
3
|
+
Version: 4.24.12
|
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
|
@@ -117,7 +117,7 @@ Requires-Dist: wheel >=0.43.0 ; python_version >= "3.8"
|
|
117
117
|
Requires-Dist: filelock >=3.13.1 ; python_version >= "3.8"
|
118
118
|
Requires-Dist: platformdirs >=4.2.0 ; python_version >= "3.8"
|
119
119
|
Requires-Dist: typing-extensions >=4.10.0 ; python_version >= "3.8"
|
120
|
-
Requires-Dist: trio ==0.
|
120
|
+
Requires-Dist: trio ==0.25.0 ; python_version >= "3.8"
|
121
121
|
Requires-Dist: selenium ==4.18.1 ; python_version >= "3.8"
|
122
122
|
Requires-Dist: pluggy ==1.4.0 ; python_version >= "3.8"
|
123
123
|
Requires-Dist: pytest ==8.1.1 ; python_version >= "3.8"
|
@@ -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=Mw4ShIWUF2Efjx-JuwUQLWF9nIbxcX-vu9AOGBp32ec,2123
|
7
7
|
seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
|
8
|
-
seleniumbase/__version__.py,sha256=
|
8
|
+
seleniumbase/__version__.py,sha256=FuNHCSUIfCBcrG981EXrZolshvrop3RCSGjpD9rSLYs,47
|
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=rpSKGufjzKeoiTqsr1HChNu1fY68CMirr5mgff--LHs,56291
|
@@ -19,7 +19,7 @@ seleniumbase/common/obfuscate.py,sha256=VrwPbVigPH_Jk6ADCk5_miMoq1VK4M9SKnYScDkk
|
|
19
19
|
seleniumbase/common/unobfuscate.py,sha256=MgP6MMT9Wam6ECFVIA84WsQczfl_dFiumFu9m3eXFDg,771
|
20
20
|
seleniumbase/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
21
|
seleniumbase/config/ad_block_list.py,sha256=qCQvbpONdSXk6q5tMwLuOswGYE1Syd8cy5TMIYFjTME,3380
|
22
|
-
seleniumbase/config/proxy_list.py,sha256=
|
22
|
+
seleniumbase/config/proxy_list.py,sha256=tSdk82_6pPqClotHMl3YOTlxi9IIEppHmCoQDkZXLqw,1123
|
23
23
|
seleniumbase/config/settings.py,sha256=n07U3PrrTgXgg5S1DIGnRuR6Y7AW11y06lvkflD7ZuE,7708
|
24
24
|
seleniumbase/console_scripts/ReadMe.md,sha256=edWzZCdEpLaUSkzeasVq990ONVPWQSi-F0Y9ZWY5Xuw,20160
|
25
25
|
seleniumbase/console_scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -40,11 +40,11 @@ seleniumbase/console_scripts/sb_print.py,sha256=yo641b_OdSE0GUauOyxk-QrNeIjYzbRY
|
|
40
40
|
seleniumbase/console_scripts/sb_recorder.py,sha256=2QQov64Erfnm1hnVleKX-c_llcsO6hhJKKxzcANcix0,10904
|
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=Z6bN8sXna7vSyzOtLqK3G5bv0C_PTSxZQiJ_Ggw33Ak,165803
|
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
|
47
|
-
seleniumbase/core/detect_b_ver.py,sha256=
|
47
|
+
seleniumbase/core/detect_b_ver.py,sha256=RxeGRMbBUTMrXh5KsS1P1SH7eEKYbzL1vQw1gTdgdqg,15021
|
48
48
|
seleniumbase/core/download_helper.py,sha256=qSR54kQISucF4RQaLCOuuerSu6DR41juGi_30HVvWYY,2943
|
49
49
|
seleniumbase/core/encoded_images.py,sha256=rDKJ4cNJSuKiRcFViYU7bjyTS9_moI57gUPRXVg3u2k,14209
|
50
50
|
seleniumbase/core/jqc_helper.py,sha256=2DDQr9Q2jSSZqFzX588jLlUM9oJvyrRWq2aORSIPUdI,10322
|
@@ -70,11 +70,11 @@ seleniumbase/extensions/disable_csp.zip,sha256=YMifIIgEBiLrEFrS1sfW4Exh4br1V4oK1
|
|
70
70
|
seleniumbase/extensions/recorder.zip,sha256=dE3-vt1lsIyMbz3MD0WboizA5KiR3SH2jxAMrC0T_cU,11908
|
71
71
|
seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
|
72
72
|
seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
73
|
-
seleniumbase/fixtures/base_case.py,sha256
|
74
|
-
seleniumbase/fixtures/constants.py,sha256=
|
73
|
+
seleniumbase/fixtures/base_case.py,sha256=3mqQFcrMnT6-AEWuUnCxn4uAX-EAipCJhhiH8I_5XpE,686935
|
74
|
+
seleniumbase/fixtures/constants.py,sha256=Uvr5-Z8ZfiE2-lIqJS1CQ0tkmQ6qJYooCOTo_HMleo4,13348
|
75
75
|
seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
|
76
76
|
seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
|
77
|
-
seleniumbase/fixtures/js_utils.py,sha256=
|
77
|
+
seleniumbase/fixtures/js_utils.py,sha256=y1FgWvrg7CjryqGnFhbmFIIVYMzQfYZhwppYae87UCo,51158
|
78
78
|
seleniumbase/fixtures/page_actions.py,sha256=s9Tf7sR7HWNQw0riBXuLqThe1HctQWqJIXCLJnnTF4k,61496
|
79
79
|
seleniumbase/fixtures/page_utils.py,sha256=QmAvTlT0j0ESf1IgvyXwHJapJakFM7QqBLXnHXgaeJw,12596
|
80
80
|
seleniumbase/fixtures/shared_utils.py,sha256=9VgFvodh0-3GeGbj5wvWOaG4fLpwmgWkrvIKQ89KMvE,5748
|
@@ -120,7 +120,7 @@ seleniumbase/undetected/dprocess.py,sha256=WWQ_X_-Q7Lfx1m6oxkYHU0eTIc76Jodph4n1Q
|
|
120
120
|
seleniumbase/undetected/options.py,sha256=SGuz8iqlVPYN7IexNiGauupWF0xP3mqO72-9tgIqeuI,2999
|
121
121
|
seleniumbase/undetected/patcher.py,sha256=u8X3uFBCTJ4XcU09AWpbDyPc-dm2LM-YeuciCp5AEdM,10853
|
122
122
|
seleniumbase/undetected/reactor.py,sha256=UT1pEnGaTPZT7-0-xKROk9_eWDZueGzSUrCksc22nyA,2883
|
123
|
-
seleniumbase/undetected/webelement.py,sha256=
|
123
|
+
seleniumbase/undetected/webelement.py,sha256=5T-T14G3C5ZS9wXdcvFeHpBgFfdAE10heR1vk0iqF9Y,1098
|
124
124
|
seleniumbase/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
125
125
|
seleniumbase/utilities/selenium_grid/ReadMe.md,sha256=Uqvn4KmhaMY_jrhcsxL2WptCukPq1J3Yz-9WenCXEu0,3599
|
126
126
|
seleniumbase/utilities/selenium_grid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -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.24.
|
141
|
-
seleniumbase-4.24.
|
142
|
-
seleniumbase-4.24.
|
143
|
-
seleniumbase-4.24.
|
144
|
-
seleniumbase-4.24.
|
145
|
-
seleniumbase-4.24.
|
140
|
+
seleniumbase-4.24.12.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
|
141
|
+
seleniumbase-4.24.12.dist-info/METADATA,sha256=hdWtYKRDJO0nlGq2VzdgQumopamp7fVqUTvdUBHqCuw,83872
|
142
|
+
seleniumbase-4.24.12.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
143
|
+
seleniumbase-4.24.12.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
144
|
+
seleniumbase-4.24.12.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
145
|
+
seleniumbase-4.24.12.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|