seleniumbase 4.34.9__py3-none-any.whl → 4.34.10__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.34.9"
2
+ __version__ = "4.34.10"
@@ -96,14 +96,9 @@ def linux_browser_apps_to_cmd(*apps):
96
96
  )
97
97
 
98
98
 
99
- def chrome_on_linux_path(prefer_chromium=False):
99
+ def chrome_on_linux_path(chromium_ok=False):
100
100
  if os_name() != OSType.LINUX:
101
101
  return ""
102
- if prefer_chromium:
103
- paths = ["/bin/chromium", "/bin/chromium-browser"]
104
- for path in paths:
105
- if os.path.exists(path) and os.access(path, os.X_OK):
106
- return path
107
102
  paths = ["/bin/google-chrome", "/bin/google-chrome-stable"]
108
103
  for path in paths:
109
104
  if os.path.exists(path) and os.access(path, os.X_OK):
@@ -112,17 +107,22 @@ def chrome_on_linux_path(prefer_chromium=False):
112
107
  binaries = []
113
108
  binaries.append("google-chrome")
114
109
  binaries.append("google-chrome-stable")
115
- binaries.append("chrome")
116
- binaries.append("chromium")
117
- binaries.append("chromium-browser")
118
110
  binaries.append("google-chrome-beta")
119
111
  binaries.append("google-chrome-dev")
120
112
  binaries.append("google-chrome-unstable")
113
+ binaries.append("chrome")
114
+ binaries.append("chromium")
115
+ binaries.append("chromium-browser")
121
116
  for binary in binaries:
122
117
  for path in paths:
123
118
  full_path = os.path.join(path, binary)
124
119
  if os.path.exists(full_path) and os.access(full_path, os.X_OK):
125
120
  return full_path
121
+ if chromium_ok:
122
+ paths = ["/bin/chromium", "/bin/chromium-browser"]
123
+ for path in paths:
124
+ if os.path.exists(path) and os.access(path, os.X_OK):
125
+ return path
126
126
  return "/usr/bin/google-chrome"
127
127
 
128
128
 
@@ -209,12 +209,11 @@ def windows_browser_apps_to_cmd(*apps):
209
209
  return '%s -NoProfile "%s"' % (powershell, script)
210
210
 
211
211
 
212
- def get_binary_location(browser_type, prefer_chromium=False):
213
- """Return the full path of the browser binary.
214
- If going for better results in UC Mode, use: prefer_chromium=True"""
212
+ def get_binary_location(browser_type, chromium_ok=False):
213
+ """Return the full path of the browser binary."""
215
214
  cmd_mapping = {
216
215
  ChromeType.GOOGLE: {
217
- OSType.LINUX: chrome_on_linux_path(prefer_chromium),
216
+ OSType.LINUX: chrome_on_linux_path(chromium_ok),
218
217
  OSType.MAC: r"/Applications/Google Chrome.app"
219
218
  r"/Contents/MacOS/Google Chrome",
220
219
  OSType.WIN: chrome_on_windows_path(),
@@ -586,14 +586,14 @@ def find_chrome_executable():
586
586
  if IS_POSIX:
587
587
  for item in os.environ.get("PATH").split(os.pathsep):
588
588
  for subitem in (
589
- "chromium",
590
589
  "google-chrome",
591
- "chromium-browser",
592
- "chrome",
593
590
  "google-chrome-stable",
594
591
  "google-chrome-beta",
595
592
  "google-chrome-dev",
596
593
  "google-chrome-unstable",
594
+ "chrome",
595
+ "chromium",
596
+ "chromium-browser",
597
597
  ):
598
598
  candidates.add(os.sep.join((item, subitem)))
599
599
  if "darwin" in sys.platform:
@@ -565,10 +565,11 @@ class Browser:
565
565
  # asyncio.get_running_loop().create_task(
566
566
  # self.connection.send(cdp.browser.close())
567
567
  # )
568
- asyncio.get_event_loop().create_task(self.connection.aclose())
569
- logger.debug(
570
- "Closed the connection using get_event_loop().create_task()"
571
- )
568
+ if self.connection:
569
+ asyncio.get_event_loop().create_task(self.connection.aclose())
570
+ logger.debug(
571
+ "Closed connection using get_event_loop().create_task()"
572
+ )
572
573
  except RuntimeError:
573
574
  if self.connection:
574
575
  try:
@@ -10,6 +10,7 @@ import typing
10
10
  from contextlib import suppress
11
11
  from seleniumbase import config as sb_config
12
12
  from seleniumbase.config import settings
13
+ from seleniumbase.core import detect_b_ver
13
14
  from seleniumbase.fixtures import constants
14
15
  from seleniumbase.fixtures import shared_utils
15
16
  from typing import Optional, List, Union, Callable
@@ -226,6 +227,10 @@ async def start_async(*args, **kwargs) -> Browser:
226
227
  binary_location = None
227
228
  if "browser_executable_path" in kwargs:
228
229
  binary_location = kwargs["browser_executable_path"]
230
+ else:
231
+ binary_location = detect_b_ver.get_binary_location("google-chrome")
232
+ if binary_location and not os.path.exists(binary_location):
233
+ binary_location = None
229
234
  if (
230
235
  shared_utils.is_chrome_130_or_newer(binary_location)
231
236
  and "user_data_dir" in kwargs
@@ -261,6 +266,10 @@ def start_sync(*args, **kwargs) -> Browser:
261
266
  binary_location = None
262
267
  if "browser_executable_path" in kwargs:
263
268
  binary_location = kwargs["browser_executable_path"]
269
+ else:
270
+ binary_location = detect_b_ver.get_binary_location("google-chrome")
271
+ if binary_location and not os.path.exists(binary_location):
272
+ binary_location = None
264
273
  if (
265
274
  shared_utils.is_chrome_130_or_newer(binary_location)
266
275
  and "user_data_dir" in kwargs
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: seleniumbase
3
- Version: 4.34.9
3
+ Version: 4.34.10
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
@@ -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=lYiyjOWgbGT6PKF2swCq_LRy9Qn2s4pgHJi1iNo8Ot4,46
6
+ seleniumbase/__version__.py,sha256=JZSUAOU_cOIJkatvRSPQzTCXIMoRLTFY814bLhvvXxc,47
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
@@ -40,7 +40,7 @@ seleniumbase/core/browser_launcher.py,sha256=L7pvPQDMoQ8Mh0rrv3xvVxqsaeavdNp9ISh
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
43
- seleniumbase/core/detect_b_ver.py,sha256=RxeGRMbBUTMrXh5KsS1P1SH7eEKYbzL1vQw1gTdgdqg,15021
43
+ seleniumbase/core/detect_b_ver.py,sha256=pqL_OjsAutvQEsr5KbYTqoKkYP6dtnPSxLhsxlObVX4,14934
44
44
  seleniumbase/core/download_helper.py,sha256=qSR54kQISucF4RQaLCOuuerSu6DR41juGi_30HVvWYY,2943
45
45
  seleniumbase/core/encoded_images.py,sha256=rDKJ4cNJSuKiRcFViYU7bjyTS9_moI57gUPRXVg3u2k,14209
46
46
  seleniumbase/core/jqc_helper.py,sha256=2DDQr9Q2jSSZqFzX588jLlUM9oJvyrRWq2aORSIPUdI,10322
@@ -106,7 +106,7 @@ 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=j_5aK0cQrOiPAa8zKKB6bRnOHWb8HD1r-YcVsoGgPYA,24016
109
+ seleniumbase/undetected/__init__.py,sha256=fqizsCT79sZZV7mmQ-w7udTPaEM6mfGUl0uw2Vx8vKs,24016
110
110
  seleniumbase/undetected/cdp.py,sha256=RLpwZnhUvmK9tgXcZIBBQedwk2q7Jj_EXZkmzI8WUqk,4023
111
111
  seleniumbase/undetected/dprocess.py,sha256=83EV8ZHJWHG1TSUv9JNClBhdgiBXlkCc6mJ--HsoP3k,1681
112
112
  seleniumbase/undetected/options.py,sha256=BoNuwhrG7oOvuLvTwkvsWCF36pMkS1tHCG-XpP4_EkI,3001
@@ -115,8 +115,8 @@ seleniumbase/undetected/reactor.py,sha256=NropaXcO54pzmDq6quR27qPJxab6636H7LRAaq
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=lP4b0h5quAy573ETn_TBbYV889cL1AuPLVInpJ0ZkiU,3183
118
- seleniumbase/undetected/cdp_driver/browser.py,sha256=quD0e2aoehXQrs9zxGsobF0kZY11gmJ58Q_JQhheQYg,30144
119
- seleniumbase/undetected/cdp_driver/cdp_util.py,sha256=XXpl1tGtbtR5U60Gzq8Lv7pcgpV3un-FLsmGw9lhSnU,17354
118
+ seleniumbase/undetected/cdp_driver/browser.py,sha256=vwccwrAZDssRmVnf-NVXYvs5Dvv8DtGzeiDHSY3RTfM,30189
119
+ seleniumbase/undetected/cdp_driver/cdp_util.py,sha256=B5myq2zi-Gdq_vfZGPOG-LTSwbhK4n2h6SY2Z9dmIzQ,17784
120
120
  seleniumbase/undetected/cdp_driver/config.py,sha256=oHFJ3UH0OmLmEGgG5S6SZwbyBs9ZYMsbUJ02QCA7iZc,12044
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.34.9.dist-info/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
139
- seleniumbase-4.34.9.dist-info/METADATA,sha256=clXFKbRCvsQnCh9H60fDWCbyhuR8oTt1VmdGlaoysAE,86519
140
- seleniumbase-4.34.9.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
141
- seleniumbase-4.34.9.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
- seleniumbase-4.34.9.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
- seleniumbase-4.34.9.dist-info/RECORD,,
138
+ seleniumbase-4.34.10.dist-info/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
139
+ seleniumbase-4.34.10.dist-info/METADATA,sha256=uC2mUuJFgZtkXUQxBP2mr93pRmXnkipTNdjkd__zYvs,86520
140
+ seleniumbase-4.34.10.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
141
+ seleniumbase-4.34.10.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
+ seleniumbase-4.34.10.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
+ seleniumbase-4.34.10.dist-info/RECORD,,