seleniumbase 4.32.4__py3-none-any.whl → 4.32.4a1__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.32.4"
2
+ __version__ = "4.32.4a1"
@@ -542,7 +542,6 @@ def uc_open_with_cdp_mode(driver, url=None):
542
542
  driver.cdp_base = loop.run_until_complete(
543
543
  cdp_util.start(host=cdp_host, port=cdp_port)
544
544
  )
545
-
546
545
  page = loop.run_until_complete(driver.cdp_base.get(url))
547
546
  loop.run_until_complete(page.activate())
548
547
  if not safe_url:
@@ -4167,13 +4167,13 @@ class BaseCase(unittest.TestCase):
4167
4167
  device_pixel_ratio=d_p_r,
4168
4168
  browser=browser_name,
4169
4169
  )
4170
- time.sleep(0.16)
4170
+ time.sleep(0.2)
4171
4171
  except Exception:
4172
4172
  pass
4173
4173
  finally:
4174
4174
  with suppress(Exception):
4175
4175
  decoy_driver.quit()
4176
- time.sleep(0.08)
4176
+ time.sleep(0.1)
4177
4177
  # Launch a web browser
4178
4178
  new_driver = browser_launcher.get_driver(
4179
4179
  browser_name=browser_name,
@@ -870,13 +870,13 @@ def Driver(
870
870
  device_pixel_ratio=d_p_r,
871
871
  browser=browser_name,
872
872
  )
873
- time.sleep(0.16)
873
+ time.sleep(0.2)
874
874
  except Exception:
875
875
  pass
876
876
  finally:
877
877
  with suppress(Exception):
878
878
  decoy_driver.quit()
879
- time.sleep(0.08)
879
+ time.sleep(0.1)
880
880
 
881
881
  driver = browser_launcher.get_driver(
882
882
  browser_name=browser_name,
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env python3
1
2
  import logging
2
3
  import os
3
4
  import re
@@ -251,7 +252,7 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
251
252
  "Default",
252
253
  "Preferences",
253
254
  ),
254
- encoding="utf-8",
255
+ encoding="latin1",
255
256
  mode="r+",
256
257
  errors="ignore",
257
258
  ) as fs:
@@ -432,15 +433,10 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
432
433
  time.sleep(timeout)
433
434
  with suppress(Exception):
434
435
  self.service.start()
436
+ time.sleep(0.012)
435
437
  with suppress(Exception):
436
438
  self.start_session()
437
- with suppress(Exception):
438
- if self.current_url.startswith("chrome-extension://"):
439
- self.close()
440
- self.service.stop()
441
- self.service.start()
442
- self.start_session()
443
- self._is_connected = True
439
+ time.sleep(0.012)
444
440
 
445
441
  def disconnect(self):
446
442
  """Stops the chromedriver service that runs in the background.
@@ -449,6 +445,7 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
449
445
  with suppress(Exception):
450
446
  self.service.stop()
451
447
  self._is_connected = False
448
+ time.sleep(0.012)
452
449
 
453
450
  def connect(self):
454
451
  """Starts the chromedriver service that runs in the background
@@ -456,15 +453,11 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
456
453
  if hasattr(self, "service"):
457
454
  with suppress(Exception):
458
455
  self.service.start()
456
+ time.sleep(0.012)
459
457
  with suppress(Exception):
460
458
  self.start_session()
461
- with suppress(Exception):
462
- if self.current_url.startswith("chrome-extension://"):
463
- self.close()
464
- self.service.stop()
465
- self.service.start()
466
- self.start_session()
467
459
  self._is_connected = True
460
+ time.sleep(0.012)
468
461
 
469
462
  def start_session(self, capabilities=None):
470
463
  if not capabilities:
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env python3
1
2
  import fasteners
2
3
  import json
3
4
  import logging
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env python3
1
2
  import os
2
3
  import sys
3
4
  import atexit
@@ -1,8 +1,13 @@
1
+ #!/usr/bin/env python3
1
2
  import json
3
+ import logging
2
4
  import os
5
+ import time
3
6
  from contextlib import suppress
4
7
  from selenium.webdriver.chromium.options import ChromiumOptions
5
8
 
9
+ logger = logging.getLogger(__name__)
10
+
6
11
 
7
12
  class ChromeOptions(ChromiumOptions):
8
13
  _session = None
@@ -52,16 +57,36 @@ class ChromeOptions(ChromiumOptions):
52
57
  with suppress(Exception):
53
58
  if os.path.exists(prefs_file):
54
59
  with open(
55
- prefs_file, encoding="utf-8", mode="r", errors="ignore"
60
+ prefs_file,
61
+ encoding="latin1",
62
+ mode="r",
63
+ errors="ignore",
56
64
  ) as f:
57
- undot_prefs = self._merge_nested(
58
- json.load(f), undot_prefs
59
- )
60
- with suppress(Exception):
61
- with open(
62
- prefs_file, encoding="utf-8", mode="w", errors="ignore"
63
- ) as f:
64
- json.dump(undot_prefs, f)
65
+ data = json.load(f)
66
+ logger.debug("Existing preferences: %s" % data)
67
+ undot_prefs = self._merge_nested(data, undot_prefs)
68
+ logger.debug("Combined preferences: %s" % undot_prefs)
69
+ time.sleep(0.005)
70
+ if not os.path.exists(prefs_file):
71
+ try:
72
+ with open(
73
+ prefs_file,
74
+ encoding="latin1",
75
+ mode="w",
76
+ errors="ignore",
77
+ ) as f:
78
+ json.dump(undot_prefs, f)
79
+ except Exception:
80
+ time.sleep(0.005)
81
+ with suppress(Exception):
82
+ with open(
83
+ prefs_file,
84
+ encoding="utf-8",
85
+ mode="w",
86
+ errors="ignore",
87
+ ) as f:
88
+ json.dump(undot_prefs, f)
89
+ time.sleep(0.005)
65
90
  # Remove experimental_options to avoid errors
66
91
  del self._experimental_options["prefs"]
67
92
  exclude_switches = self.experimental_options.get("excludeSwitches")
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env python3
1
2
  import io
2
3
  import logging
3
4
  import os
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env python3
1
2
  import asyncio
2
3
  import json
3
4
  import logging
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: seleniumbase
3
- Version: 4.32.4
3
+ Version: 4.32.4a1
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
@@ -59,7 +59,7 @@ Classifier: Topic :: Utilities
59
59
  Requires-Python: >=3.8
60
60
  Description-Content-Type: text/markdown
61
61
  License-File: LICENSE
62
- Requires-Dist: pip>=24.2
62
+ Requires-Dist: pip>=24.3
63
63
  Requires-Dist: packaging>=24.1
64
64
  Requires-Dist: wheel>=0.44.0
65
65
  Requires-Dist: attrs>=24.2.0
@@ -79,8 +79,8 @@ Requires-Dist: parse-type>=0.6.4
79
79
  Requires-Dist: colorama>=0.4.6
80
80
  Requires-Dist: pyyaml>=6.0.2
81
81
  Requires-Dist: pygments>=2.18.0
82
- Requires-Dist: tabcompleter>=1.4.0
83
- Requires-Dist: pdbp>=1.6.0
82
+ Requires-Dist: tabcompleter>=1.3.3
83
+ Requires-Dist: pdbp>=1.5.4
84
84
  Requires-Dist: idna==3.10
85
85
  Requires-Dist: chardet==5.2.0
86
86
  Requires-Dist: charset-normalizer==3.4.0
@@ -236,8 +236,6 @@ Requires-Dist: zstandard==0.23.0; extra == "selenium-wire"
236
236
 
237
237
  👤 Note that <span translate="no">SeleniumBase</span> <a translate="no" href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/uc_mode.md"><b>UC Mode</b> (Stealth Mode) has its own ReadMe</a>.
238
238
 
239
- 🐙 Also note that Seleniumbase <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/ReadMe.md"><b>CDP Mode</b> has its own separate ReadMe</a>.
240
-
241
239
  ℹ️ Scripts can be called via <code translate="no"><b>python</b></code>, although some <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/syntax_formats.md">Syntax Formats</a> expect <a href="https://docs.pytest.org/en/latest/how-to/usage.html" translate="no"><b>pytest</b></a> (a Python unit-testing framework included with SeleniumBase that can discover, collect, and run tests automatically).
242
240
 
243
241
  <p align="left">📗 Here's <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/my_first_test.py">my_first_test.py</a>, which tests login, shopping, and checkout:</p>
@@ -3,7 +3,7 @@ sbase/__main__.py,sha256=G0bVB1-DM4PGwQ1KyOupaWCs4ePbChZNNWuX2htim5U,647
3
3
  sbase/steps.py,sha256=bKT_u5bJkKzYWEuAXi9NVVRYYxQRCM1_YJUrNFFRVPY,42865
4
4
  seleniumbase/__init__.py,sha256=OtJh8nGKL4xtZpw8KPqmn7Q6R-86t4cWUDyVF5MbMTo,2398
5
5
  seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
6
- seleniumbase/__version__.py,sha256=vFbcqGUbMcYFZy91jca1HA1X3Ls9oEd6VKZaewExcIA,46
6
+ seleniumbase/__version__.py,sha256=p3-TsNmVZnxoL7V9NMUn0fjSrX_dTOvJak7Ef8Bil9o,48
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=1oAA4wFzVboNhIFDwJLD3jgy9RuoavywKQG7R67bNZE,10908
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=xKKxAx2swUnFBpPcny-hk7KlaAnzCmCdw-tokh5ef04,214921
39
+ seleniumbase/core/browser_launcher.py,sha256=oFXINtwzEmEZsqcmDIKG_sHDO1RCdhuxo3O8VtbsMYs,214920
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
@@ -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=oAnwLUFtg4inRq4I2xJEqAzkwyI2PHeNWm-UPnQXVks,714722
68
+ seleniumbase/fixtures/base_case.py,sha256=vOiDIDR7HzqTjCw0QdTLFoTyf96mFghtjFwYyEaJz_s,714720
69
69
  seleniumbase/fixtures/constants.py,sha256=XYYMpB-ZDI756LvfhSK9RxdqQ_qO9fJVXgBqBYlQNkk,13609
70
70
  seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
71
71
  seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
@@ -86,7 +86,7 @@ seleniumbase/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
86
86
  seleniumbase/plugins/base_plugin.py,sha256=FemdftNhOaTfQIw5bWcJQPPPGQ3P0_sMEI_YYDuzZgU,14972
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=05WK2mJMJJ2SDXgEv1WQJad5MqWCV4qIv5FnKhb985Y,37798
89
+ seleniumbase/plugins/driver_manager.py,sha256=_gnlVch6BYRrneSW5eAsEqpZ95uzC48c_wMkLN4FuCs,37796
90
90
  seleniumbase/plugins/page_source.py,sha256=loTnXxOj4kxEukuTZEiGyvKBhY3KDVDMnNlHHheTBDE,1889
91
91
  seleniumbase/plugins/pytest_plugin.py,sha256=Up96HY6q3hcPo4LQoEcKqt1hm2OmY5GZz_nMXTqDSXQ,97185
92
92
  seleniumbase/plugins/s3_logging_plugin.py,sha256=WDfertQgGOW_SRJpFMaekYD6vBVW9VO62POtXXy2HCM,2319
@@ -106,12 +106,12 @@ seleniumbase/translate/portuguese.py,sha256=x3P4qxp56UiI41GoaL7JbUvFRYsgXU1EKjTg
106
106
  seleniumbase/translate/russian.py,sha256=TyN9n0b4GRWDEYnHRGw1rfNAscdDmP3F3Y3aySM3C7s,27978
107
107
  seleniumbase/translate/spanish.py,sha256=hh3xgW1Pq122SHYVvJAxFaXhFrjniOVncVbJbfWqOUM,25528
108
108
  seleniumbase/translate/translator.py,sha256=wPhZH6e5NhmebYL1kP2eGxUcVy1gfTb6XCH8ATEPpxE,49238
109
- seleniumbase/undetected/__init__.py,sha256=8zwqLzRffTOm7nFp6ldldthHVuYB2OnU6ZGV4JOpoio,22491
110
- seleniumbase/undetected/cdp.py,sha256=RLpwZnhUvmK9tgXcZIBBQedwk2q7Jj_EXZkmzI8WUqk,4023
111
- seleniumbase/undetected/dprocess.py,sha256=83EV8ZHJWHG1TSUv9JNClBhdgiBXlkCc6mJ--HsoP3k,1681
112
- seleniumbase/undetected/options.py,sha256=BoNuwhrG7oOvuLvTwkvsWCF36pMkS1tHCG-XpP4_EkI,3001
113
- seleniumbase/undetected/patcher.py,sha256=n9WfKznr4cQvaE5Gcx7iyK27zMWIc8KdI69_m817CSQ,10825
114
- seleniumbase/undetected/reactor.py,sha256=NropaXcO54pzmDq6quR27qPJxab6636H7LRAaq-o0ng,2859
109
+ seleniumbase/undetected/__init__.py,sha256=3UukttRSdScUGCrms2BK35os3uSt130Z1BtxQJmhqxE,22136
110
+ seleniumbase/undetected/cdp.py,sha256=EralLQm8diG5i6EoHFXHIQEc7Uf7PWtzyPH_upS5RIs,4047
111
+ seleniumbase/undetected/dprocess.py,sha256=VLwyLWXSg-6GkeKpAQcTXLRmuBb0oEdku3_qgMifuwY,1705
112
+ seleniumbase/undetected/options.py,sha256=3a-W5AkRR4PPU9PuaHlG7IZXIp5XbECxvk-73wHfOhY,3913
113
+ seleniumbase/undetected/patcher.py,sha256=GqNqUwqDDFZg-Y3O6JOyFoOGhHN0r5PV46Mc9b9_BP0,10849
114
+ seleniumbase/undetected/reactor.py,sha256=UT1pEnGaTPZT7-0-xKROk9_eWDZueGzSUrCksc22nyA,2883
115
115
  seleniumbase/undetected/webelement.py,sha256=_s6evgUkdWJpwOnzX4qR9i796PoVbz3txlzHlOBJ4BE,1370
116
116
  seleniumbase/undetected/cdp_driver/__init__.py,sha256=c0TjMwPfVFyoqYOJ7PQ-Jln_L_dpN3ebHyaD-juQoM0,64
117
117
  seleniumbase/undetected/cdp_driver/_contradict.py,sha256=6thDYeoEGiC7Q3tXLgoD_AhxecCFnATzBSjNympyRHA,3184
@@ -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.32.4.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
139
- seleniumbase-4.32.4.dist-info/METADATA,sha256=P-aaLSxLcDhNervTnQwolcdOOYQTBgbvIwi7_LGKsgg,86271
140
- seleniumbase-4.32.4.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
141
- seleniumbase-4.32.4.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
- seleniumbase-4.32.4.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
- seleniumbase-4.32.4.dist-info/RECORD,,
138
+ seleniumbase-4.32.4a1.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
139
+ seleniumbase-4.32.4a1.dist-info/METADATA,sha256=0y0snuA19qHT4QS36utt8jBsCN15L0DShe4Rc6Zo-Ds,86095
140
+ seleniumbase-4.32.4a1.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
141
+ seleniumbase-4.32.4a1.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
+ seleniumbase-4.32.4a1.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
+ seleniumbase-4.32.4a1.dist-info/RECORD,,