【问题标题】:How to always download the latest version of chromedriver and geckodriver?如何始终下载最新版本的 chromedriver 和 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?

【问题讨论】:

    标签: linux selenium gitlab continuous-integration devops


    【解决方案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 "
    

    【讨论】:

    • 成功了,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2020-05-06
    • 2018-03-19
    • 2019-01-06
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    相关资源
    最近更新 更多