From 168e347081591c39ffd7fe94e4e266b312d9d1fc Mon Sep 17 00:00:00 2001 From: g1879 Date: Thu, 19 Nov 2020 17:33:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=8C=E6=9C=AA=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DrissionPage/initialize.py | 43 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 DrissionPage/initialize.py diff --git a/DrissionPage/initialize.py b/DrissionPage/initialize.py new file mode 100644 index 0000000..0e432e8 --- /dev/null +++ b/DrissionPage/initialize.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python +# -*- coding:utf-8 -*- +""" +@Author : g1879 +@Contact : g1879@qq.com +@File : initialize.py +检测用户chrome版本,自动下载匹配的chromedriver +""" + +import os +import re +# from DrissionPage import MixPage +# +# page = MixPage() +# import subprocess +from pathlib import Path + + +def get_chrome_path() -> str: + paths = os.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(): + return str(path) + + paths = paths.split(';') + for path in paths: + path = Path(path) / 'chrome.exe' + if path.exists(): + return str(path) + + +def get_chrome_version(path: str) -> str: + path = path.replace('\\', '\\\\') + version = os.popen(f'wmic datafile where "name=\'{path}\'" get version').read().lower().split('\n')[2] + + return version + + +p = get_chrome_path() +print(get_chrome_version(p))