seleniumbase 4.24.11__py3-none-any.whl → 4.25.0__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.
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.24.11"
2
+ __version__ = "4.25.0"
@@ -23,9 +23,9 @@ you can try finding one from one of following sites:
23
23
  """
24
24
 
25
25
  PROXY_LIST = {
26
- "example1": "37.19.220.129:8443", # (Example) - set your own proxy here
27
- "example2": "socks4://104.236.32.53:8915", # (Example)
28
- "example3": "socks5://142.44.212.57:49006", # (Example)
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,
@@ -27,6 +27,7 @@ from seleniumbase.core import download_helper
27
27
  from seleniumbase.core import proxy_helper
28
28
  from seleniumbase.core import sb_driver
29
29
  from seleniumbase.fixtures import constants
30
+ from seleniumbase.fixtures import js_utils
30
31
  from seleniumbase.fixtures import shared_utils
31
32
 
32
33
  urllib3.disable_warnings()
@@ -406,9 +407,9 @@ def uc_open(driver, url):
406
407
  elif ":" not in url:
407
408
  url = "https://" + url
408
409
  if (url.startswith("http:") or url.startswith("https:")):
409
- time.sleep(0.05)
410
410
  with driver:
411
- driver.default_get(url)
411
+ script = 'window.location.href = "%s";' % url
412
+ js_utils.call_me_later(driver, script, 33)
412
413
  else:
413
414
  driver.default_get(url) # The original one
414
415
  return None
@@ -420,7 +421,6 @@ def uc_open_with_tab(driver, url):
420
421
  elif ":" not in url:
421
422
  url = "https://" + url
422
423
  if (url.startswith("http:") or url.startswith("https:")):
423
- time.sleep(0.05)
424
424
  with driver:
425
425
  driver.execute_script('window.open("%s","_blank");' % url)
426
426
  driver.close()
@@ -439,7 +439,9 @@ def uc_open_with_reconnect(driver, url, reconnect_time=None):
439
439
  elif ":" not in url:
440
440
  url = "https://" + url
441
441
  if (url.startswith("http:") or url.startswith("https:")):
442
- driver.execute_script('window.open("%s","_blank");' % url)
442
+ script = 'window.open("%s","_blank");' % url
443
+ js_utils.call_me_later(driver, script, 3)
444
+ time.sleep(0.007)
443
445
  driver.close()
444
446
  driver.reconnect(reconnect_time)
445
447
  driver.switch_to.window(driver.window_handles[-1])
@@ -463,11 +465,16 @@ def uc_click(
463
465
  except Exception:
464
466
  pass
465
467
  element = driver.wait_for_selector(selector, by=by, timeout=timeout)
466
- if not element.tag_name == "span": # Element must be "visible"
468
+ tag_name = element.tag_name
469
+ if not tag_name == "span": # Element must be "visible"
467
470
  element = driver.wait_for_element(selector, by=by, timeout=timeout)
468
471
  try:
469
472
  element.uc_click(
470
- driver, selector, by=by, reconnect_time=reconnect_time
473
+ driver,
474
+ selector,
475
+ by=by,
476
+ reconnect_time=reconnect_time,
477
+ tag_name=tag_name,
471
478
  )
472
479
  except ElementClickInterceptedException:
473
480
  time.sleep(0.16)
@@ -812,11 +819,12 @@ def _set_chrome_options(
812
819
  chrome_options = webdriver.edge.options.Options()
813
820
  prefs = {}
814
821
  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
822
  prefs["download.directory_upgrade"] = True
823
+ prefs["download.prompt_for_download"] = False
824
+ prefs["credentials_enable_service"] = False
825
+ prefs["local_discovery.notifications_enabled"] = False
819
826
  prefs["safebrowsing.enabled"] = False
827
+ prefs["safebrowsing.disable_download_protection"] = True
820
828
  prefs["omnibox-max-zero-suggest-matches"] = 0
821
829
  prefs["omnibox-use-existing-autocomplete-client"] = 0
822
830
  prefs["omnibox-trending-zero-prefix-suggestions-on-ntp"] = 0
@@ -827,9 +835,8 @@ def _set_chrome_options(
827
835
  prefs["omnibox-zero-suggest-prefetching-on-srp"] = 0
828
836
  prefs["omnibox-zero-suggest-prefetching-on-web"] = 0
829
837
  prefs["omnibox-zero-suggest-in-memory-caching"] = 0
830
- prefs["default_content_setting_values.notifications"] = 0
831
838
  prefs["content_settings.exceptions.automatic_downloads.*.setting"] = 1
832
- prefs["safebrowsing.disable_download_protection"] = True
839
+ prefs["default_content_setting_values.notifications"] = 0
833
840
  prefs["default_content_settings.popups"] = 0
834
841
  prefs["managed_default_content_settings.popups"] = 0
835
842
  prefs["profile.password_manager_enabled"] = False
@@ -1142,6 +1149,7 @@ def _set_chrome_options(
1142
1149
  included_disabled_features.append("PrivacySandboxSettings4")
1143
1150
  included_disabled_features.append("DownloadBubble")
1144
1151
  included_disabled_features.append("DownloadBubbleV2")
1152
+ included_disabled_features.append("InsecureDownloadWarnings")
1145
1153
  for item in extra_disabled_features:
1146
1154
  if item not in included_disabled_features:
1147
1155
  included_disabled_features.append(item)
@@ -1153,6 +1161,7 @@ def _set_chrome_options(
1153
1161
  included_disabled_features.append("OptimizationTargetPrediction")
1154
1162
  included_disabled_features.append("DownloadBubble")
1155
1163
  included_disabled_features.append("DownloadBubbleV2")
1164
+ included_disabled_features.append("InsecureDownloadWarnings")
1156
1165
  for item in extra_disabled_features:
1157
1166
  if item not in included_disabled_features:
1158
1167
  included_disabled_features.append(item)
@@ -2367,10 +2376,11 @@ def get_local_driver(
2367
2376
  elif browser_name == constants.Browser.EDGE:
2368
2377
  prefs = {
2369
2378
  "download.default_directory": downloads_path,
2370
- "local_discovery.notifications_enabled": False,
2371
- "credentials_enable_service": False,
2372
- "download.prompt_for_download": False,
2373
2379
  "download.directory_upgrade": True,
2380
+ "download.prompt_for_download": False,
2381
+ "credentials_enable_service": False,
2382
+ "local_discovery.notifications_enabled": False,
2383
+ "safebrowsing.disable_download_protection": True,
2374
2384
  "safebrowsing.enabled": False,
2375
2385
  "omnibox-max-zero-suggest-matches": 0,
2376
2386
  "omnibox-use-existing-autocomplete-client": 0,
@@ -2382,11 +2392,10 @@ def get_local_driver(
2382
2392
  "omnibox-zero-suggest-prefetching-on-srp": 0,
2383
2393
  "omnibox-zero-suggest-prefetching-on-web": 0,
2384
2394
  "omnibox-zero-suggest-in-memory-caching": 0,
2385
- "safebrowsing.disable_download_protection": True,
2395
+ "content_settings.exceptions.automatic_downloads.*.setting": 1,
2386
2396
  "default_content_setting_values.notifications": 0,
2387
2397
  "default_content_settings.popups": 0,
2388
2398
  "managed_default_content_settings.popups": 0,
2389
- "content_settings.exceptions.automatic_downloads.*.setting": 1,
2390
2399
  "profile.password_manager_enabled": False,
2391
2400
  "profile.default_content_setting_values.notifications": 2,
2392
2401
  "profile.default_content_settings.popups": 0,
@@ -2772,6 +2781,7 @@ def get_local_driver(
2772
2781
  included_disabled_features.append("Translate")
2773
2782
  included_disabled_features.append("OptimizationTargetPrediction")
2774
2783
  included_disabled_features.append("PrivacySandboxSettings4")
2784
+ included_disabled_features.append("InsecureDownloadWarnings")
2775
2785
  for item in extra_disabled_features:
2776
2786
  if item not in included_disabled_features:
2777
2787
  included_disabled_features.append(item)
@@ -2781,6 +2791,7 @@ def get_local_driver(
2781
2791
  included_disabled_features.append("OptimizationHintsFetching")
2782
2792
  included_disabled_features.append("Translate")
2783
2793
  included_disabled_features.append("OptimizationTargetPrediction")
2794
+ included_disabled_features.append("InsecureDownloadWarnings")
2784
2795
  for item in extra_disabled_features:
2785
2796
  if item not in included_disabled_features:
2786
2797
  included_disabled_features.append(item)
@@ -3869,7 +3880,7 @@ def get_local_driver(
3869
3880
  service=service, options=chrome_options
3870
3881
  )
3871
3882
  return extend_driver(driver)
3872
- except Exception:
3883
+ except Exception as original_exception:
3873
3884
  if is_using_uc(undetectable, browser_name):
3874
3885
  raise
3875
3886
  # Try again if Chrome didn't launch
@@ -3905,8 +3916,11 @@ def get_local_driver(
3905
3916
  log_output=os.devnull,
3906
3917
  service_args=["--disable-build-check"]
3907
3918
  )
3908
- driver = webdriver.Chrome(service=service)
3909
- return extend_driver(driver)
3919
+ try:
3920
+ driver = webdriver.Chrome(service=service)
3921
+ return extend_driver(driver)
3922
+ except Exception:
3923
+ raise original_exception
3910
3924
  else:
3911
3925
  raise Exception(
3912
3926
  "%s is not a valid browser option for this system!" % browser_name
@@ -7876,27 +7876,7 @@ class BaseCase(unittest.TestCase):
7876
7876
  jQuery commands require a CSS_SELECTOR for finding elements.
7877
7877
  This method should only be used for jQuery/JavaScript actions.
7878
7878
  Pure JavaScript doesn't support using a:contains("LINK_TEXT")."""
7879
- if by == By.CSS_SELECTOR:
7880
- return selector
7881
- elif by == By.ID:
7882
- return "#%s" % selector
7883
- elif by == By.CLASS_NAME:
7884
- return ".%s" % selector
7885
- elif by == By.NAME:
7886
- return '[name="%s"]' % selector
7887
- elif by == By.TAG_NAME:
7888
- return selector
7889
- elif by == By.XPATH:
7890
- return self.convert_xpath_to_css(selector)
7891
- elif by == By.LINK_TEXT:
7892
- return 'a:contains("%s")' % selector
7893
- elif by == By.PARTIAL_LINK_TEXT:
7894
- return 'a:contains("%s")' % selector
7895
- else:
7896
- raise Exception(
7897
- "Exception: Could not convert {%s}(by=%s) to CSS_SELECTOR!"
7898
- % (selector, by)
7899
- )
7879
+ return js_utils.convert_to_css_selector(selector, by)
7900
7880
 
7901
7881
  def set_value(
7902
7882
  self, selector, text, by="css selector", timeout=None, scroll=True
@@ -367,7 +367,7 @@ class Mobile:
367
367
 
368
368
 
369
369
  class UC:
370
- RECONNECT_TIME = 2.35 # Seconds
370
+ RECONNECT_TIME = 2.4 # Seconds
371
371
 
372
372
 
373
373
  class ValidBrowsers:
@@ -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,27 @@ 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
- driver.js_click(selector, by=by, timeout=1)
15
+ delayed_click = False
16
+ if tag_name == "span" or tag_name == "button" or tag_name == "div":
17
+ delayed_click = True
18
+ if delayed_click and ":contains" not in selector:
19
+ selector = js_utils.convert_to_css_selector(selector, by)
20
+ script = 'document.querySelector("%s").click();' % selector
21
+ js_utils.call_me_later(driver, script, 111)
22
+ else:
23
+ driver.js_click(selector, by=by, timeout=1)
14
24
  else:
15
25
  super().click()
16
26
  if not reconnect_time:
17
- self._parent.reconnect(0.45)
27
+ self._parent.reconnect(0.5)
18
28
  else:
19
29
  self._parent.reconnect(reconnect_time)
20
30
 
21
31
  def uc_reconnect(self, reconnect_time=None):
22
32
  if not reconnect_time:
23
- self._parent.reconnect(0.1)
33
+ self._parent.reconnect(0.2)
24
34
  else:
25
35
  self._parent.reconnect(reconnect_time)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: seleniumbase
3
- Version: 4.24.11
3
+ Version: 4.25.0
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
@@ -70,7 +70,7 @@ Requires-Dist: idna ==3.6
70
70
  Requires-Dist: chardet ==5.2.0
71
71
  Requires-Dist: charset-normalizer ==3.3.2
72
72
  Requires-Dist: requests ==2.31.0
73
- Requires-Dist: pynose ==1.5.0
73
+ Requires-Dist: pynose ==1.5.1
74
74
  Requires-Dist: sniffio ==1.3.1
75
75
  Requires-Dist: h11 ==0.14.0
76
76
  Requires-Dist: outcome ==1.3.0.post0
@@ -114,11 +114,11 @@ Requires-Dist: markdown-it-py ==2.2.0 ; python_version < "3.8"
114
114
  Requires-Dist: urllib3 <2.3.0,>=1.26.18 ; python_version >= "3.10"
115
115
  Requires-Dist: setuptools >=69.2.0 ; python_version >= "3.8"
116
116
  Requires-Dist: wheel >=0.43.0 ; python_version >= "3.8"
117
- Requires-Dist: filelock >=3.13.1 ; python_version >= "3.8"
117
+ Requires-Dist: filelock >=3.13.3 ; 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.24.0 ; python_version >= "3.8"
121
- Requires-Dist: selenium ==4.18.1 ; python_version >= "3.8"
120
+ Requires-Dist: trio ==0.25.0 ; python_version >= "3.8"
121
+ Requires-Dist: selenium ==4.19.0 ; 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"
124
124
  Requires-Dist: pytest-metadata ==3.1.1 ; python_version >= "3.8"
@@ -126,13 +126,14 @@ Requires-Dist: pytest-rerunfailures ==14.0 ; python_version >= "3.8"
126
126
  Requires-Dist: soupsieve ==2.5 ; python_version >= "3.8"
127
127
  Requires-Dist: markdown-it-py ==3.0.0 ; python_version >= "3.8"
128
128
  Provides-Extra: allure
129
- Requires-Dist: allure-pytest ==2.13.3 ; extra == 'allure'
130
- Requires-Dist: allure-python-commons ==2.13.3 ; extra == 'allure'
131
- Requires-Dist: allure-behave ==2.13.3 ; extra == 'allure'
129
+ Requires-Dist: allure-pytest ==2.13.4 ; extra == 'allure'
130
+ Requires-Dist: allure-python-commons ==2.13.4 ; extra == 'allure'
131
+ Requires-Dist: allure-behave ==2.13.4 ; extra == 'allure'
132
132
  Provides-Extra: coverage
133
- Requires-Dist: pytest-cov ==4.1.0 ; extra == 'coverage'
134
133
  Requires-Dist: coverage ==7.2.7 ; (python_version < "3.8") and extra == 'coverage'
134
+ Requires-Dist: pytest-cov ==4.1.0 ; (python_version < "3.8") and extra == 'coverage'
135
135
  Requires-Dist: coverage ==7.4.4 ; (python_version >= "3.8") and extra == 'coverage'
136
+ Requires-Dist: pytest-cov ==5.0.0 ; (python_version >= "3.8") and extra == 'coverage'
136
137
  Provides-Extra: flake8
137
138
  Requires-Dist: mccabe ==0.7.0 ; extra == 'flake8'
138
139
  Requires-Dist: flake8 ==5.0.4 ; (python_version < "3.9") and extra == 'flake8'
@@ -145,7 +146,7 @@ Provides-Extra: ipdb
145
146
  Requires-Dist: ipdb ==0.13.13 ; extra == 'ipdb'
146
147
  Requires-Dist: ipython ==7.34.0 ; extra == 'ipdb'
147
148
  Provides-Extra: pdfminer
148
- Requires-Dist: pycparser ==2.21 ; extra == 'pdfminer'
149
+ Requires-Dist: pycparser ==2.22 ; extra == 'pdfminer'
149
150
  Requires-Dist: pdfminer.six ==20221105 ; (python_version < "3.8") and extra == 'pdfminer'
150
151
  Requires-Dist: cffi ==1.15.1 ; (python_version < "3.8") and extra == 'pdfminer'
151
152
  Requires-Dist: cryptography ==39.0.2 ; (python_version < "3.9") and extra == 'pdfminer'
@@ -155,6 +156,8 @@ Requires-Dist: cryptography ==42.0.5 ; (python_version >= "3.9") and extra == 'p
155
156
  Provides-Extra: pillow
156
157
  Requires-Dist: Pillow ==9.5.0 ; (python_version < "3.8") and extra == 'pillow'
157
158
  Requires-Dist: Pillow ==10.2.0 ; (python_version >= "3.8") and extra == 'pillow'
159
+ Provides-Extra: pip-system-certs
160
+ Requires-Dist: pip-system-certs ==4.0 ; (platform_system == "Windows") and extra == 'pip-system-certs'
158
161
  Provides-Extra: proxy
159
162
  Requires-Dist: proxy.py ==2.4.3 ; extra == 'proxy'
160
163
  Provides-Extra: psutil
@@ -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=0p2rdAy1sr6L48Lt-Dk14GtR3JlnpecMveNWPWPbY30,47
8
+ seleniumbase/__version__.py,sha256=KSzvln4mFv8ChtLQFgg4f_icZ0x9lEj-1w9M2uIQb3o,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=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=uzUFfkyHkxNAbdztCz_vxnxLN7WeXVnkJuxP0uCM7AY,1132
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,7 +40,7 @@ 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=LFTNk1_mTVWrSaqfC55RhOT8UQqRdzc2lWmygxImVNs,165423
43
+ seleniumbase/core/browser_launcher.py,sha256=xlZqxbA4p3zIpsXGAcJYr-09OtykvdIsDoj6yyOPKYw,166053
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
@@ -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=KU8TbziX-_W3M9pVI6pEi5Ps8Dwd9gQYCT6bFCXPxrY,687621
74
- seleniumbase/fixtures/constants.py,sha256=g7CGrogZYY_LHbDE6ekFSQaqhdzegrfbe9q6skzmZYM,13349
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=bOFqJnN1YhLmxiY1_WW1L1vs7P0ddL9ulIEfD-uKMC4,49990
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=2iAPP6vArF1bdx7DO3dMQlpo9feEuVUpQqu94PgjXVU,727
123
+ seleniumbase/undetected/webelement.py,sha256=RXOxTRZStVgtOASkGGA_0dnhrATMIG4-NVw3dvIqIME,1247
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.11.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
141
- seleniumbase-4.24.11.dist-info/METADATA,sha256=UwFEcxGIb2MntZO-uImr6IOm14cGhUi_3tmjL79qVIg,83872
142
- seleniumbase-4.24.11.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
143
- seleniumbase-4.24.11.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
144
- seleniumbase-4.24.11.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
145
- seleniumbase-4.24.11.dist-info/RECORD,,
140
+ seleniumbase-4.25.0.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
141
+ seleniumbase-4.25.0.dist-info/METADATA,sha256=QnnZkS4EmD-AvLLF246W5KELQveBruWPxuc0JgISwXY,84122
142
+ seleniumbase-4.25.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
143
+ seleniumbase-4.25.0.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
144
+ seleniumbase-4.25.0.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
145
+ seleniumbase-4.25.0.dist-info/RECORD,,