Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 16 additions & 11 deletions seleniumbase/core/detect_b_ver.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,24 +234,29 @@ def get_browser_version_from_binary(binary_location):
path = binary_location
if binary_location.count(r"\ ") != binary_location.count(" "):
binary_location = binary_location.replace(" ", r"\ ")
cmd_mapping = binary_location + " --version"
pattern = r"\d+\.\d+\.\d+"
quad_pattern = r"\d+\.\d+\.\d+\.\d+"
quad_version = read_version_from_cmd(cmd_mapping, quad_pattern)
if quad_version and len(str(quad_version)) >= 9: # Eg. 115.0.0.0
return quad_version
version = read_version_from_cmd(cmd_mapping, pattern)
if not version and os_name() == OSType.WIN and os.path.exists(path):
if os_name() == OSType.WIN and os.path.exists(path):
path = path.replace(r"\ ", r" ").replace("\\", "\\\\")
cmd_mapping = (
'''powershell -command "&{(Get-Item '%s')'''
'''.VersionInfo.ProductVersion}"''' % path
)
quad_version = read_version_from_cmd(cmd_mapping, quad_pattern)
if quad_version and len(str(quad_version)) >= 9:
return quad_version
version = read_version_from_cmd(cmd_mapping, pattern)
return version
try:
quad_version = read_version_from_cmd(cmd_mapping, quad_pattern)
if quad_version and len(str(quad_version)) >= 9: # Eg. 115.0.0.0
return quad_version
version = read_version_from_cmd(cmd_mapping, pattern)
if version:
return version
except Exception:
''' Powershell is not available, use --version instead '''
pass
cmd_mapping = binary_location + " --version"
quad_version = read_version_from_cmd(cmd_mapping, quad_pattern)
if quad_version and len(str(quad_version)) >= 9: # Eg. 115.0.0.0
return quad_version
return read_version_from_cmd(cmd_mapping, pattern)
except Exception:
return None

Expand Down