首页 > 解决方案 > 如何让 Chrome 浏览器版本现在使用 Python 运行?

问题描述

我正在使用 selenium 运行应用程序,并且我想在运行 Chrome 驱动程序之前知道安装的实际 chrome 浏览器版本,以避免出于兼容性原因出现任何异常。我知道我可以使用driver = webdriver.Chrome("path\\to\\chromedriver.exe")thendriver.capabilities['browserVersion']来显示版本,但如果 Chrome 驱动程序版本与实际的 chrome 浏览器版本不同,则会引发异常。

谢谢

编辑: 实际上我为自己找到了答案,我找到的解决方案:

from win32com.client import Dispatch

def get_version_via_com(filename):
    parser = Dispatch("Scripting.FileSystemObject")
    try:
        version = parser.GetFileVersion(filename)
    except Exception:
        return None
    return version

if __name__ == "__main__":
    paths = [r"C:\Program Files\Google\Chrome\Application\chrome.exe",
             r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"]
    version = list(filter(None, [get_version_via_com(p) for p in paths]))[0]
    print(version)
    # result: 80.0.3987.122

PS:我认为人们一开始不理解我的问题,我很抱歉我的英语

标签: pythongoogle-chromeselenium-chromedriver

解决方案


如果您使用的是 selenium,那么您可以使用字典获取chrome浏览器版本。driver.capabilities

driver.capabilities['browserVersion']

早期版本的 chromedriver 存储了 chrome 浏览器版本driver.capabilities['version']。如果你想获得 chrome 浏览器版本而不必担心这个,你可以使用下面的代码。

if 'browserVersion' in driver.capabilities:
    print(driver.capabilities['browserVersion'])
else:
    print(driver.capabilities['version'])

推荐阅读