seleniumbase 4.35.0__py3-none-any.whl → 4.35.2__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/__init__.py CHANGED
@@ -8,6 +8,7 @@ from seleniumbase.__version__ import __version__
8
8
  from seleniumbase.common import decorators # noqa
9
9
  from seleniumbase.common import encryption # noqa
10
10
  from seleniumbase.core import colored_traceback
11
+ from seleniumbase.core import sb_cdp # noqa
11
12
  from seleniumbase.core.browser_launcher import get_driver # noqa
12
13
  from seleniumbase.fixtures import js_utils # noqa
13
14
  from seleniumbase.fixtures import page_actions # noqa
@@ -18,6 +19,7 @@ from seleniumbase.masterqa.master_qa import MasterQA # noqa
18
19
  from seleniumbase.plugins.sb_manager import SB # noqa
19
20
  from seleniumbase.plugins.driver_manager import Driver # noqa
20
21
  from seleniumbase.plugins.driver_manager import DriverContext # noqa
22
+ from seleniumbase.undetected import cdp_driver # noqa
21
23
  from seleniumbase import translate # noqa
22
24
 
23
25
  with suppress(Exception):
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.35.0"
2
+ __version__ = "4.35.2"
@@ -631,10 +631,13 @@ def main():
631
631
  data = []
632
632
  data.append("from seleniumbase import BaseCase")
633
633
  data.append("from .google_objects import HomePage, ResultsPage")
634
+ data.append('BaseCase.main(__name__, __file__, "--uc")')
634
635
  data.append("")
635
636
  data.append("")
636
637
  data.append("class GoogleTests(BaseCase):")
637
638
  data.append(" def test_google_dot_com(self):")
639
+ data.append(" if not self.undetectable:")
640
+ data.append(" self.get_new_driver(undetectable=True)")
638
641
  data.append(' self.open("https://google.com/ncr")')
639
642
  data.append(' self.assert_title_contains("Google")')
640
643
  data.append(" self.sleep(0.05)")
@@ -235,8 +235,12 @@ def extend_driver(driver, proxy_auth=False, use_uc=True):
235
235
  driver.reset_window_size = DM.reset_window_size
236
236
  if hasattr(driver, "proxy"):
237
237
  driver.set_wire_proxy = DM.set_wire_proxy
238
- if proxy_auth and not use_uc:
239
- time.sleep(0.11) # Proxy needs moment to load in Manifest V3
238
+ if proxy_auth:
239
+ # Proxy needs a moment to load in Manifest V3
240
+ if use_uc:
241
+ time.sleep(0.12)
242
+ else:
243
+ time.sleep(0.22)
240
244
  return driver
241
245
 
242
246
 
@@ -1,4 +1,5 @@
1
1
  """Add CDP methods to extend the driver"""
2
+ import asyncio
2
3
  import fasteners
3
4
  import os
4
5
  import re
@@ -11,6 +12,7 @@ from seleniumbase.fixtures import constants
11
12
  from seleniumbase.fixtures import js_utils
12
13
  from seleniumbase.fixtures import page_utils
13
14
  from seleniumbase.fixtures import shared_utils
15
+ from seleniumbase.undetected.cdp_driver import cdp_util
14
16
 
15
17
 
16
18
  class CDPMethods():
@@ -208,14 +210,16 @@ class CDPMethods():
208
210
  element = self.__add_sync_methods(element)
209
211
  return self.__add_sync_methods(element)
210
212
  elif (
211
- element.parent
213
+ element
214
+ and element.parent
212
215
  and tag_name in element.parent.tag_name.lower()
213
216
  and text.strip() in element.parent.text
214
217
  ):
215
218
  element = self.__add_sync_methods(element.parent)
216
219
  return self.__add_sync_methods(element)
217
220
  elif (
218
- element.parent
221
+ element
222
+ and element.parent
219
223
  and element.parent.parent
220
224
  and tag_name in element.parent.parent.tag_name.lower()
221
225
  and text.strip() in element.parent.parent.text
@@ -269,7 +273,8 @@ class CDPMethods():
269
273
  if element not in updated_elements:
270
274
  updated_elements.append(element)
271
275
  elif (
272
- element.parent
276
+ element
277
+ and element.parent
273
278
  and tag_name in element.parent.tag_name.lower()
274
279
  and text.strip() in element.parent.text
275
280
  ):
@@ -277,7 +282,8 @@ class CDPMethods():
277
282
  if element not in updated_elements:
278
283
  updated_elements.append(element)
279
284
  elif (
280
- element.parent
285
+ element
286
+ and element.parent
281
287
  and element.parent.parent
282
288
  and tag_name in element.parent.parent.tag_name.lower()
283
289
  and text.strip() in element.parent.parent.text
@@ -288,7 +294,7 @@ class CDPMethods():
288
294
  return updated_elements
289
295
 
290
296
  def select(self, selector, timeout=None):
291
- """Similar to find_element(), but without text-based search."""
297
+ """Similar to find_element()."""
292
298
  if not timeout:
293
299
  timeout = settings.SMALL_TIMEOUT
294
300
  self.__add_light_pause()
@@ -297,12 +303,25 @@ class CDPMethods():
297
303
  tag_name = selector.split(":contains(")[0].split(" ")[-1]
298
304
  text = selector.split(":contains(")[1].split(")")[0][1:-1]
299
305
  with suppress(Exception):
306
+ new_timeout = timeout
307
+ if new_timeout < 1:
308
+ new_timeout = 1
300
309
  self.loop.run_until_complete(
301
- self.page.select(tag_name, timeout=5)
310
+ self.page.select(tag_name, timeout=new_timeout)
302
311
  )
303
- self.loop.run_until_complete(self.page.find(text, timeout=5))
304
- element = self.find_elements_by_text(text, tag_name=tag_name)[0]
305
- return self.__add_sync_methods(element)
312
+ self.loop.run_until_complete(
313
+ self.page.find(text, timeout=new_timeout)
314
+ )
315
+ elements = self.find_elements_by_text(text, tag_name=tag_name)
316
+ if not elements:
317
+ plural = "s"
318
+ if timeout == 1:
319
+ plural = ""
320
+ msg = "\n Element {%s} was not found after %s second%s!"
321
+ message = msg % (selector, timeout, plural)
322
+ raise Exception(message)
323
+ element = self.__add_sync_methods(elements[0])
324
+ return element
306
325
  failure = False
307
326
  try:
308
327
  element = self.loop.run_until_complete(
@@ -313,11 +332,8 @@ class CDPMethods():
313
332
  plural = "s"
314
333
  if timeout == 1:
315
334
  plural = ""
316
- message = "\n Element {%s} was not found after %s second%s!" % (
317
- selector,
318
- timeout,
319
- plural,
320
- )
335
+ msg = "\n Element {%s} was not found after %s second%s!"
336
+ message = msg % (selector, timeout, plural)
321
337
  if failure:
322
338
  raise Exception(message)
323
339
  element = self.__add_sync_methods(element)
@@ -2083,3 +2099,13 @@ class CDPMethods():
2083
2099
  )
2084
2100
  else:
2085
2101
  self.select(selector).save_screenshot(filename)
2102
+
2103
+
2104
+ class Chrome(CDPMethods):
2105
+ def __init__(self, url=None, **kwargs):
2106
+ if not url:
2107
+ url = "about:blank"
2108
+ loop = asyncio.new_event_loop()
2109
+ driver = cdp_util.start_sync(**kwargs)
2110
+ page = loop.run_until_complete(driver.get(url))
2111
+ super().__init__(loop, page, driver)
@@ -950,6 +950,8 @@ def post_message(driver, message, msg_dur=None, style="info"):
950
950
  set_messenger_theme(driver)
951
951
  try:
952
952
  execute_script(driver, messenger_script)
953
+ except TypeError:
954
+ pass
953
955
  except Exception:
954
956
  time.sleep(0.17)
955
957
  activate_messenger(driver)
@@ -10,7 +10,7 @@ Example -->
10
10
  ```python
11
11
  from seleniumbase import DriverContext
12
12
 
13
- with DriverContext() as driver:
13
+ with DriverContext(uc=True) as driver:
14
14
  driver.get("https://google.com/ncr")
15
15
  ```
16
16
 
@@ -30,7 +30,7 @@ Example -->
30
30
  ```python
31
31
  from seleniumbase import Driver
32
32
 
33
- driver = Driver()
33
+ driver = Driver(uc=True)
34
34
  driver.get("https://google.com/ncr")
35
35
  ```
36
36
 
@@ -2496,6 +2496,9 @@ def pytest_unconfigure(config):
2496
2496
  """This runs after all tests have completed with pytest."""
2497
2497
  if "--co" in sys_argv or "--collect-only" in sys_argv:
2498
2498
  return
2499
+ reporter = config.pluginmanager.get_plugin("terminalreporter")
2500
+ if not hasattr(reporter, "_sessionstarttime"):
2501
+ return
2499
2502
  if hasattr(sb_config, "_multithreaded") and sb_config._multithreaded:
2500
2503
  import fasteners
2501
2504
 
@@ -10,7 +10,7 @@ Example -->
10
10
  ```python
11
11
  from seleniumbase import SB
12
12
 
13
- with SB() as sb: # Many args! Eg. SB(browser="edge")
13
+ with SB(uc=True) as sb: # Many args! Eg. SB(browser="edge")
14
14
  sb.open("https://google.com/ncr")
15
15
  sb.type('[name="q"]', "SeleniumBase on GitHub\n")
16
16
  sb.click('a[href*="github.com/seleniumbase"]')
@@ -1 +1,3 @@
1
1
  from seleniumbase.undetected.cdp_driver import cdp_util # noqa
2
+ from seleniumbase.undetected.cdp_driver.cdp_util import start_async # noqa
3
+ from seleniumbase.undetected.cdp_driver.cdp_util import start_sync # noqa
@@ -15,6 +15,7 @@ import urllib.parse
15
15
  import urllib.request
16
16
  import warnings
17
17
  from collections import defaultdict
18
+ from seleniumbase import config as sb_config
18
19
  from typing import List, Set, Tuple, Union
19
20
  import mycdp as cdp
20
21
  from . import cdp_util as util
@@ -287,6 +288,9 @@ class Browser:
287
288
  filter(lambda item: item.type_ == "page", self.targets)
288
289
  )
289
290
  # Use the tab to navigate to new url
291
+ if hasattr(sb_config, "_cdp_locale") and sb_config._cdp_locale:
292
+ await connection.send(cdp.page.navigate("about:blank"))
293
+ await connection.set_locale(sb_config._cdp_locale)
290
294
  frame_id, loader_id, *_ = await connection.send(
291
295
  cdp.page.navigate(url)
292
296
  )
@@ -232,9 +232,9 @@ async def start(
232
232
  browser_args: Optional[List[str]] = None,
233
233
  xvfb_metrics: Optional[List[str]] = None, # "Width,Height" for Linux
234
234
  sandbox: Optional[bool] = True,
235
- lang: Optional[str] = None,
236
- host: Optional[str] = None,
237
- port: Optional[int] = None,
235
+ lang: Optional[str] = None, # Set the Language Locale Code
236
+ host: Optional[str] = None, # Chrome remote-debugging-host
237
+ port: Optional[int] = None, # Chrome remote-debugging-port
238
238
  xvfb: Optional[int] = None, # Use a special virtual display on Linux
239
239
  headed: Optional[bool] = None, # Override default Xvfb mode on Linux
240
240
  expert: Optional[bool] = None, # Open up closed Shadow-root elements
@@ -320,7 +320,15 @@ async def start(
320
320
  time.sleep(0.15)
321
321
  driver = await Browser.create(config)
322
322
  if proxy and "@" in str(proxy):
323
- time.sleep(0.11)
323
+ time.sleep(0.15)
324
+ if lang:
325
+ sb_config._cdp_locale = lang
326
+ elif "locale" in kwargs:
327
+ sb_config._cdp_locale = kwargs["locale"]
328
+ elif "locale_code" in kwargs:
329
+ sb_config._cdp_locale = kwargs["locale_code"]
330
+ else:
331
+ sb_config._cdp_locale = None
324
332
  return driver
325
333
 
326
334
 
@@ -360,10 +368,7 @@ def start_sync(*args, **kwargs) -> Browser:
360
368
  ):
361
369
  loop = kwargs["loop"]
362
370
  else:
363
- try:
364
- loop = asyncio.get_event_loop()
365
- except RuntimeError:
366
- loop = asyncio.new_event_loop()
371
+ loop = asyncio.new_event_loop()
367
372
  headless = False
368
373
  binary_location = None
369
374
  if "browser_executable_path" in kwargs:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: seleniumbase
3
- Version: 4.35.0
3
+ Version: 4.35.2
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
@@ -62,7 +62,7 @@ License-File: LICENSE
62
62
  Requires-Dist: pip>=25.0.1
63
63
  Requires-Dist: packaging>=24.2
64
64
  Requires-Dist: setuptools~=70.2; python_version < "3.10"
65
- Requires-Dist: setuptools>=75.8.0; python_version >= "3.10"
65
+ Requires-Dist: setuptools>=75.8.2; python_version >= "3.10"
66
66
  Requires-Dist: wheel>=0.45.1
67
67
  Requires-Dist: attrs>=25.1.0
68
68
  Requires-Dist: certifi>=2025.1.31
@@ -100,7 +100,7 @@ Requires-Dist: h11==0.14.0
100
100
  Requires-Dist: outcome==1.3.0.post0
101
101
  Requires-Dist: trio==0.27.0; python_version < "3.9"
102
102
  Requires-Dist: trio==0.29.0; python_version >= "3.9"
103
- Requires-Dist: trio-websocket==0.12.1
103
+ Requires-Dist: trio-websocket==0.12.2
104
104
  Requires-Dist: wsproto==1.2.0
105
105
  Requires-Dist: websocket-client==1.8.0
106
106
  Requires-Dist: selenium==4.27.1; python_version < "3.9"
@@ -162,7 +162,7 @@ Requires-Dist: pip-system-certs==4.0; platform_system == "Windows" and extra ==
162
162
  Provides-Extra: proxy
163
163
  Requires-Dist: proxy.py==2.4.3; extra == "proxy"
164
164
  Provides-Extra: psutil
165
- Requires-Dist: psutil==6.0.0; extra == "psutil"
165
+ Requires-Dist: psutil==7.0.0; extra == "psutil"
166
166
  Provides-Extra: pyautogui
167
167
  Requires-Dist: PyAutoGUI==0.9.54; extra == "pyautogui"
168
168
  Provides-Extra: selenium-stealth
@@ -265,7 +265,7 @@ Dynamic: summary
265
265
  ```python
266
266
  from seleniumbase import SB
267
267
 
268
- with SB(test=True) as sb:
268
+ with SB(test=True, uc=True) as sb:
269
269
  sb.open("https://google.com/ncr")
270
270
  sb.type('[title="Search"]', "SeleniumBase GitHub page\n")
271
271
  sb.click('[href*="github.com/seleniumbase/"]')
@@ -284,7 +284,7 @@ with SB(test=True) as sb:
284
284
  ```python
285
285
  from seleniumbase import SB
286
286
 
287
- with SB(uc=True, test=True, locale_code="en") as sb:
287
+ with SB(uc=True, test=True, locale="en") as sb:
288
288
  url = "https://gitlab.com/users/sign_in"
289
289
  sb.activate_cdp_mode(url)
290
290
  sb.uc_gui_click_captcha()
@@ -1,9 +1,9 @@
1
1
  sbase/__init__.py,sha256=02izDj786GVBT0bpSq2Q2O8uwSxtyT09pnobZz91ML8,605
2
2
  sbase/__main__.py,sha256=G0bVB1-DM4PGwQ1KyOupaWCs4ePbChZNNWuX2htim5U,647
3
3
  sbase/steps.py,sha256=_WvAjydKqZfTdnZW9LPKkRty-g-lfdUPmLqnZj6ulcs,43013
4
- seleniumbase/__init__.py,sha256=OtJh8nGKL4xtZpw8KPqmn7Q6R-86t4cWUDyVF5MbMTo,2398
4
+ seleniumbase/__init__.py,sha256=JFEY9P5QJqsa1M6ghzLMH2eIPQyh85iglCaQwg8Y8z4,2498
5
5
  seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
6
- seleniumbase/__version__.py,sha256=9RgXYgvnicdq4_gy9e8NFDceDM5_JZE-7snSYmzYXAs,46
6
+ seleniumbase/__version__.py,sha256=P9cTVt3PVLsDI9atFloLWRPlzTGkd73niFjhDtv1sQc,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=qQF85LoohJBfrPK5ZcPi50v-pWtOrC9qcN1B3Ki_3tY,59401
@@ -27,7 +27,7 @@ seleniumbase/console_scripts/sb_caseplans.py,sha256=qlmvjQ49bOBE1Q29fVmabimkVibC
27
27
  seleniumbase/console_scripts/sb_commander.py,sha256=exQGKzqRAoGqRmQtDmlmoHnSG9eSy9eh8HVy-tXw6s4,13343
28
28
  seleniumbase/console_scripts/sb_install.py,sha256=RdByOmTQebibRFk5ym-FtFr0Gf91_ZfOsBB2MN5izUc,55524
29
29
  seleniumbase/console_scripts/sb_mkchart.py,sha256=ep9g-9CSIwaOJKVxhB3xjRQpfsuApyN8-Dr129cNXwQ,10941
30
- seleniumbase/console_scripts/sb_mkdir.py,sha256=TpXjsG-SZE496EFhbR1aJr5tcHRBo57QSmA9nfpxNXs,30713
30
+ seleniumbase/console_scripts/sb_mkdir.py,sha256=iFN6ZMOgmH_GAvEuvzYltWuYiS3PRFQcL5fJIj1yX_Y,30897
31
31
  seleniumbase/console_scripts/sb_mkfile.py,sha256=OWYd4yFccmjrd-gNn1t1una-HDRU2_N2-r4Tg3nHsj0,17744
32
32
  seleniumbase/console_scripts/sb_mkpres.py,sha256=EWFRVacjYTX49y-fEiYTZacM9_01IxuuaO4nMjHrIGo,11015
33
33
  seleniumbase/console_scripts/sb_mkrec.py,sha256=PrizjTmyrROYPO0yDm-zQS3QSfsZNeAmcJKKUvfgLhc,11966
@@ -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=jUDL2RlOXnSDUwhQuZekgGisY11hhmMU-ftFVyM-afs,236519
39
+ seleniumbase/core/browser_launcher.py,sha256=YJsddTlS6fFo08olKsKKnUdZQxFm5mpXt8rKC7ZunKE,236579
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=4VkpMwavz0fx8wcOqJ_jyBT0HIXwcxmAcpd1gjJ
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=vxgI2BLs-MyYOPsdgytBVBrMD1Outo0GvxfwbkWt4xQ,81129
53
+ seleniumbase/core/sb_cdp.py,sha256=kPC9tS-cGA-Vy9-DW-yrV33q787Ml_ISET9iQX9jmnw,82049
54
54
  seleniumbase/core/sb_driver.py,sha256=yvTDRblBzG6bDX7XcLiAA6QcBelSJj_HHL_04lcfeeE,13760
55
55
  seleniumbase/core/session_helper.py,sha256=s9zD3PVZEWVzG2h81cCUskbNWLfdjC_LwwQjKptHCak,558
56
56
  seleniumbase/core/settings_parser.py,sha256=gqVohHVlE_5L5Cqe2L24uYrRzvoK-saX8E_Df7_-_3I,7609
@@ -69,7 +69,7 @@ seleniumbase/fixtures/base_case.py,sha256=ncejN3q7m6_GHQTASuy4LHkeeCn829RRZN4lRB
69
69
  seleniumbase/fixtures/constants.py,sha256=WMrItuNyKq3XVJ64NluLIRc4gJCxDw8K8qXED0b9S2w,13752
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=QxHC0Wz_rDQ5dB6B1CK_UFs9zzryuElr-fj7MUtf_lA,52204
72
+ seleniumbase/fixtures/js_utils.py,sha256=Ykt019DFP8S27o8Kai_ihT01qQWo3RqHUeljqOEUdFU,52247
73
73
  seleniumbase/fixtures/page_actions.py,sha256=LPcFSkUvBkxLrOt4laQHHN-NLmqInT41E2vlPiOlLFY,66753
74
74
  seleniumbase/fixtures/page_utils.py,sha256=H1iV8f9vDyEy87DBntyiBXC_tg8HskcebUOAJVn0hxE,12160
75
75
  seleniumbase/fixtures/shared_utils.py,sha256=G6CsE-Adt-GfuZF-71jXWKSIQW7YZPx8FIM24pVd_yI,8368
@@ -86,11 +86,11 @@ seleniumbase/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
86
86
  seleniumbase/plugins/base_plugin.py,sha256=ItLgtaZmu_363iycy8BNX0Do5LyIWGiTMLW6krXM-WQ,14748
87
87
  seleniumbase/plugins/basic_test_info.py,sha256=8ov6n417gPbqqvrlT4zrch7l2XcRt-GF2ny6rR9AMWk,2108
88
88
  seleniumbase/plugins/db_reporting_plugin.py,sha256=En09qUCoojrk9-vbcnsoHdSELoGmag2GDIyu3jTiJas,7331
89
- seleniumbase/plugins/driver_manager.py,sha256=QGGekWvcj58VMGr87UyXl1OvVTMjZDEdt8jaq7K13u8,35863
89
+ seleniumbase/plugins/driver_manager.py,sha256=UqWDnhOFB7GNftaSAqWFsR76vOyeaqMc0JqQKiAw3lU,35877
90
90
  seleniumbase/plugins/page_source.py,sha256=loTnXxOj4kxEukuTZEiGyvKBhY3KDVDMnNlHHheTBDE,1889
91
- seleniumbase/plugins/pytest_plugin.py,sha256=SKCHzUFSd8dHPQwYQTJp-6AX7YD6Kce-MemvNguNgYs,108249
91
+ seleniumbase/plugins/pytest_plugin.py,sha256=952AIyaH-PdmNksoeXjzhXxoc8Z53yV-WPjlrHhp2OM,108382
92
92
  seleniumbase/plugins/s3_logging_plugin.py,sha256=WDfertQgGOW_SRJpFMaekYD6vBVW9VO62POtXXy2HCM,2319
93
- seleniumbase/plugins/sb_manager.py,sha256=aOaP5ZxLM7EfpLml4f_iBXkidKtFA1KcZQQIGm4aSQQ,56242
93
+ seleniumbase/plugins/sb_manager.py,sha256=9hWfSA2DGclgQ2QMJISR8k_rF53NCMGcQbr-K5eh5Dg,56249
94
94
  seleniumbase/plugins/screen_shots.py,sha256=1hrXw-hzuZ1BR6Yh7AyWX2ABnvnP73-RCbwdz958gj4,1127
95
95
  seleniumbase/plugins/selenium_plugin.py,sha256=y0eNco8T4KgGLProLPHPLw479QH5lRms4wqwOnTgkSc,60081
96
96
  seleniumbase/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -113,10 +113,10 @@ seleniumbase/undetected/options.py,sha256=BoNuwhrG7oOvuLvTwkvsWCF36pMkS1tHCG-XpP
113
113
  seleniumbase/undetected/patcher.py,sha256=fXh99P2D9XPdYTFtsDYXk1ZUSh8Elkg-dGeMhUihmu4,11445
114
114
  seleniumbase/undetected/reactor.py,sha256=NropaXcO54pzmDq6quR27qPJxab6636H7LRAaq-o0ng,2859
115
115
  seleniumbase/undetected/webelement.py,sha256=OOpUYbEiOG52KsYYyuDW9tYLdA2SMnukvwQHUdPVn9E,1389
116
- seleniumbase/undetected/cdp_driver/__init__.py,sha256=c0TjMwPfVFyoqYOJ7PQ-Jln_L_dpN3ebHyaD-juQoM0,64
116
+ seleniumbase/undetected/cdp_driver/__init__.py,sha256=Ga9alwuaZZy4_XOShc0HjgFnNqpPdrcbjAicz5gE7a4,215
117
117
  seleniumbase/undetected/cdp_driver/_contradict.py,sha256=lP4b0h5quAy573ETn_TBbYV889cL1AuPLVInpJ0ZkiU,3183
118
- seleniumbase/undetected/cdp_driver/browser.py,sha256=ruPunmJKwE67Veh1MjSkZAF5W38FMwc32lHgy1YULho,30261
119
- seleniumbase/undetected/cdp_driver/cdp_util.py,sha256=zlYc_oTqtCSjV_T7lzPbFyJlj_78NHMxKkrpleXcfpQ,21374
118
+ seleniumbase/undetected/cdp_driver/browser.py,sha256=KOmHmmZkfKUoc7Qwkl5zxazuHhwW8foMYoZkRyTmgGk,30525
119
+ seleniumbase/undetected/cdp_driver/cdp_util.py,sha256=6-0-Dq_dFAOXQ5_a58i9y93zRqWUrjWoy6Pf_xBoveE,21648
120
120
  seleniumbase/undetected/cdp_driver/config.py,sha256=t8KV1Vqa5SQRBq3-gjkHHmj9h85AplAM01asO3AWufs,12507
121
121
  seleniumbase/undetected/cdp_driver/connection.py,sha256=sOTUGjbUqKA2hPvDcRCdqw1VQjVGJs7mbgVvzS7ldtE,23360
122
122
  seleniumbase/undetected/cdp_driver/element.py,sha256=FIC6v7OmumLCT-_vIc3H4oju_oBbaLpWJUJIKm2c_q4,40467
@@ -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.35.0.dist-info/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
139
- seleniumbase-4.35.0.dist-info/METADATA,sha256=EeKLn-w_eOXpmkxalRWbl9_cFlbJsGdKUsNgqskwprQ,86521
140
- seleniumbase-4.35.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
141
- seleniumbase-4.35.0.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
- seleniumbase-4.35.0.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
- seleniumbase-4.35.0.dist-info/RECORD,,
138
+ seleniumbase-4.35.2.dist-info/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
139
+ seleniumbase-4.35.2.dist-info/METADATA,sha256=QVAff0P_RE1LsQ199DwJ28P1Qjy0ZIUBJU7yzObSmUs,86525
140
+ seleniumbase-4.35.2.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
141
+ seleniumbase-4.35.2.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
+ seleniumbase-4.35.2.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
+ seleniumbase-4.35.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (75.8.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5