def _get_chrome_path(ini_path: str = None) -> Union[str, None]: """从ini文件或系统变量中获取chrome.exe的路径 \n :param ini_path: ini文件路径 :return: chrome.exe路径 """ # -----------从ini文件中获取-------------- try: path = OptionsManager(ini_path).chrome_options['binary_location'] except KeyError: return None if path and Path(path).is_file(): print('ini文件中', end='') return str(path) # -----------从系统路径中获取-------------- paths = popen('set path').read().lower() r = RE_SEARCH(r'[^;]*chrome[^;]*', paths) if r: path = Path(r.group(0)) if 'chrome.exe' in r.group(0) else Path( r.group(0)) / 'chrome.exe' if path.exists(): print('系统中', end='') return str(path) paths = paths.split(';') for path in paths: path = Path(path) / 'chrome.exe' if path.exists(): print('系统中', end='') return str(path)
def _get_chrome_path( ini_path: str = None, show_msg: bool = True, from_ini: bool = True, from_regedit: bool = True, from_system_path: bool = True, ) -> Union[str, None]: """从ini文件或系统变量中获取chrome.exe的路径 \n :param ini_path: ini文件路径 :return: chrome.exe路径 """ # -----------从ini文件中获取-------------- if ini_path and from_ini: try: path = OptionsManager(ini_path).chrome_options['binary_location'] except KeyError: path = None else: path = None if path and Path(path).is_file(): print('ini文件中', end='') return str(path) # -----------从注册表中获取-------------- if from_regedit: import winreg try: key = winreg.OpenKey( winreg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe', reserved=0, access=winreg.KEY_READ) k = winreg.EnumValue(key, 0) winreg.CloseKey(key) if show_msg: print('注册表中', end='') return k[1] except FileNotFoundError: pass # -----------从系统变量中获取-------------- if from_system_path: paths = popen('set path').read().lower() r = RE_SEARCH(r'[^;]*chrome[^;]*', paths) if r: path = Path(r.group(0)) if 'chrome.exe' in r.group(0) else Path( r.group(0)) / 'chrome.exe' if path.exists(): if show_msg: print('系统变量中', end='') return str(path) paths = paths.split(';') for path in paths: path = Path(path) / 'chrome.exe' try: if path.exists(): if show_msg: print('系统变量中', end='') return str(path) except OSError: pass