如何始终下载最新版本的 chromedriver 和 geckodriver?

Posted

技术标签:

【中文标题】如何始终下载最新版本的 chromedriver 和 geckodriver?【英文标题】:How to always download the latest version of chromedriver and geckodriver? 【发布时间】:2021-12-07 00:01:02 【问题描述】:

在我们的 CI 上运行自动化测试。目前,我们正在检索最新版本的 Chrome 和 Firefox,作为我们设置的一部分,但是,我们使用的 chromedriver 和 geckodriver 版本是硬编码的,因为似乎没有指向最新版本的链接。

例如。这是下载最新Firefox版本的行

wget -nv -O ~/FirefoxSetup.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64"

虽然这里是下载特定版本的 geckodriver 的行

wget -nv -O ~/geckodriver.tar.gz "https://github.com/mozilla/geckodriver/releases/download/v0.29.1/geckodriver-v0.29.1-linux64.tar.gz"

是否总能获得最新的 chromedriver 和 geckodriver?

【问题讨论】:

【参考方案1】:

检查this gist 是否有帮助,至少对于 chromedriver:

version=$(curl http://chromedriver.storage.googleapis.com/LATEST_RELEASE)
download_location= " http://chromedriver.storage.googleapis.com/ $version /chromedriver_linux64.zip "
rm /tmp/chromedriver_linux64.zip
wget -P /tmp $download_location
unzip /tmp/chromedriver_linux64.zip -d .
mv ./chromedriver ./chromedriver.linux
chmod u+x ./chromedriver.linux

geckodriver 的想法相同:

install_dir= " /usr/local/bin "
json= $( curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest )
if [[ $( uname )  ==  " Darwin " ]] ;  then
url= $( echo " $json "  | jq -r ' .assets[].browser_download_url | select(contains("maces")) ' )
elif [[ $( uname )  ==  " Linux " ]] ;  then
url= $( echo " $json "  | jq -r ' .assets[].browser_download_url | select(contains("linux64")) ' )
else
 echo  " can't determine OS "
 exit 1
fi
curl -s -L " $url "  | tar -xz
chmod +x geckodriver
sudo mv geckodriver " $install_dir "

【讨论】:

成功了,谢谢!

以上是关于如何始终下载最新版本的 chromedriver 和 geckodriver?的主要内容,如果未能解决你的问题,请参考以下文章

如何始终使用 python 下载最新版本的 phpmyadmin?

selenium各浏览器驱动下载地址

ChromeDriver的安装和使用

如何解决chrome和chromedriver版本不匹配

chromedriver与chrome最新版本对应表 转自-河岸上的酸菜鱼 简书地址-https://www.jianshu.com/u/bbea92f78aca

CentOS7下Chrome以及chromedriver的安装配置