Google chrome 每当chrome浏览器更新时更新chromedriver

Google chrome 每当chrome浏览器更新时更新chromedriver,google-chrome,browser,selenium-chromedriver,Google Chrome,Browser,Selenium Chromedriver,每当Chrome浏览器更新时,是否有必要更新chromedriver(用于automation bot)?或者bot可以与较旧版本的chromedriver和较新版本的browser一起正常运行?并不总是如此,但当两个版本不兼容时,答案是肯定的 您可以在此处看到chromedriver版本及其支持的浏览器版本列表: 希望这有帮助是的,每当chrome浏览器更新时,都有必要更新chromedriver。 您可以在此处找到选择chromedriverversion的指南: 最近我发现chromed

每当Chrome浏览器更新时,是否有必要更新chromedriver(用于automation bot)?或者bot可以与较旧版本的chromedriver和较新版本的browser一起正常运行?

并不总是如此,但当两个版本不兼容时,答案是肯定的

您可以在此处看到chromedriver版本及其支持的浏览器版本列表:


希望这有帮助

是的,每当
chrome
浏览器更新时,都有必要更新
chromedriver
。 您可以在此处找到选择
chromedriver
version的指南:

最近我发现
chromedriver
现在几乎有一对一的版本一致性(有三个最新版本支持
chromedriver 2.46

我已经准备好自动更新
chromedriver
(在Windows平台上)

当需要更新
crhomedriver
时运行此脚本(在运行selenium web测试之前,我将此脚本作为CI中的构建步骤运行):

$thisScriptRoot=if($PSScriptRoot-eq“”){“}否则{$PSScriptRoot}
$chromeDriverRelativeDir=“硒”
$chromeDriverDir=$(连接路径$thisScriptRoot$chromeDriverRelativeDir)
$chromeDriverFileLocation=$(连接路径$chromeDriverDir“chromedriver.exe”)
$chromeVersion=[System.Diagnostics.FileVersionInfo]::GetVersionInfo(“C:\Program Files(x86)\Google\Chrome\Application\Chrome.exe”).FileVersion
$ChromeMarVersion=$chromeVersion.split(“.”[0]
if(-Not(测试路径$chromeDriverDir-PathType容器)){
$dir=新项目-项目类型目录-路径$chromeDriverDir
}
if(测试路径$chromeDriverFileLocation-路径类型叶){
#获取curent chromedriver.exe的版本
$chromeDriverFileVersion=(&$chromeDriverFileLocation--version)
$chromeDriverFileVersionHasMatch=$chromeDriverFileVersion-匹配“ChromeDriver(\d+\.\d+\.\d+)(\.\d+)”
$chromeDriverCurrentVersion=$matches[1]
if(-Not$chromeDriverFileVersionHasMatch){
出口
}
}
否则{
#如果找不到chromedriver.exe,将下载它
$chromeDriverCurrentVersion=''
}
如果($chromeMajorVersion-lt 73){
#对于<73的chrome版本,将使用chromedriver v2.46(支持ChromeV71-73)
$chromeDriverExpectedVersion=“2.46”
$chromeDriverVersionUrl=”https://chromedriver.storage.googleapis.com/LATEST_RELEASE"
}
否则{
$chromeDriverExpectedVersion=$chromeVersion.split(“.”[0..2]-join“
$chromeDriverVersionUrl=”https://chromedriver.storage.googleapis.com/LATEST_RELEASE_“+$ChromeDriveredExpectedVersion
}
$chromeDriverLatestVersion=调用RestMethod-Uri$chromeDriverVersionUrl
写入输出“chrome版本:$chromeVersion”
写入输出“chromedriver版本:$chromedriver当前版本”
写入输出“chromedriver最新版本:$chromedriver最新版本”
#如果出现MAJOR.MINOR.PATCH,将更新chromedriver.exe
$needUpdateChromeDriver=$chromeDriverCurrentVersion-ne$chromeDriverLatestVersion
如果($needUpdateChromeDriver){
$chromeDriverZipLink=”https://chromedriver.storage.googleapis.com/“+$chromeDriverLatestVersion+”/chromedriverwin32.zip”
写入输出“将下载$chromeDriverZipLink”
$chromeDriverZipFileLocation=$(连接路径$chromeDriverDir“chromedriverwin32.zip”)
调用WebRequest-Uri$chromeDriverZipLink-OutFile$chromeDriverZipFileLocation
展开存档$chromeDriverZipFileLocation-DestinationPath$(加入路径$thisScriptRoot$chromeDriverRelativeDir)-强制
移除项目-路径$chromeDriverZipFileLocation-强制
$chromeDriverFileVersion=(&$chromeDriverFileLocation--version)
写入输出“chromedriver更新为版本$chromeDriverFileVersion”
}
否则{
写入输出“chromedriver是实际的”
}
您可以使用
$chromeDriverRelativeDir
变量(相对于脚本位置)配置需要放置
chromedriver
的相对目录

希望这有帮助