我正在尝试检查 chrome 和 chromedriver 的兼容性,以提示用户在需要时下载正确的 chromedriver 版本。我希望以类似于我检查如下所示的 chrome.exe 的方式检查 chrome 驱动程序的版本。
from win32api import GetFileVersionInfo
info = GetFileVersionInfo(path/to/chrome.exe)
最佳答案
如果我有什么误解,请告诉我。
您可以使用 driver. Capabilities ['browserversion ']
和 driver. Capabilities ['chrome'] ['chromedriverversion ']. Split (' ') [0]
获取 chrome 和 chromedriver 的版本。
然后截取版本号的前2位进行比较。如果它们不相同,您可以根据需要提醒用户下载正确的 chromedriver 版本。
最小的例子:
from selenium import webdriver
driver = webdriver.Chrome()
str1 = driver.capabilities['browserVersion']
str2 = driver.capabilities['chrome']['chromedriverVersion'].split(' ')[0]
print(str1)
print(str2)
print(str1[0:2])
print(str2[0:2])
if str1[0:2] != str2[0:2]:
print("please download correct chromedriver version")
调试:
您还可以向用户提示正确的版本。
Chrome 和 Chromedriver 版本如下载页面所述:
如果您使用的是 Chrome 79 版,请下载 ChromeDriver 79.0.3945.36
如果您使用的是 Chrome 78 版,请下载 ChromeDriver 78.0.3904.70
如果您使用的是 Chrome 77 版,请下载 ChromeDriver 77.0.3865.40
如果您使用的是 Chrome 76 版,请下载 ChromeDriver 76.0.3809.126
如果您使用的是 Chrome 75 版,请下载 ChromeDriver 75.0.3770.140
如果您使用的是 Chrome 74 版,请下载 ChromeDriver 74.0.3729.6
如果您使用的是 Chrome 73 版本,请下载 ChromeDriver 73.0.3683.68
对于旧版本的 Chrome,请参阅 Barett's anwer
有为特定 chrome 版本选择 crhomedriver 版本的一般指南:https://sites.google.com/a/chromium.org/chromedriver/downloads/version-selection .
更多详情请引用:https://stackoverflow.com/a/55266105/11128312
注:
早期版本的 chromedriver 存储了 chrome 浏览器版本
driver.capabilities['version']
.如果你想获得chrome浏览器版本而不必担心这个,你可以使用下面的代码。if 'browserVersion' in driver.capabilities:
print(driver.capabilities['browserVersion'])
else:
print(driver.capabilities['version'])
可能对您有用的链接:
How to work with a specific version of ChromeDriver while Chrome Browser gets updated automatically through Python selenium
How can I get Chrome Browser Version running now with Python? [closed]
Which ChromeDriver version is compatible with which Chrome Browser version?
关于python - 是否可以在 python 中在运行时检查 chromedriver.exe 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58979318/