Last active
          August 18, 2023 10:20 
        
      - 
      
- 
        Save cgoldberg/4097efbfeb40adf698a7d05e75e0ff51 to your computer and use it in GitHub Desktop. 
    download and install latest geckodriver for linux or mac (selenium webdriver)
  
        
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | #!/bin/bash | |
| # download and install latest geckodriver for linux or mac. | |
| # required for selenium to drive a firefox browser. | |
| 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("macos"))') | |
| 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" | |
| echo "installed geckodriver binary in $install_dir" | 
A different version of the script modification provided by @brunoao86, that I use is to utilize jq further and dropping the asc urls right in the search. See below for the full script
#!/bin/bash
# download and install latest geckodriver for linux or mac.
# required for selenium to drive a firefox browser.
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("macos")) | select(contains("asc") | not)')
elif [[ $(uname) == "Linux" ]]; then
    url=$(echo "$json" | jq -r '.assets[].browser_download_url | select(contains("linux64")) | select(contains("asc") | not)')
else
    echo "can't determine OS"
    exit 1
fi
curl -s -L "$url" | tar -xz
chmod +x geckodriver
sudo mv geckodriver "$install_dir"
echo "installed geckodriver binary in $install_dir"
Will the latest version of geckodriver driver work with the latest version of firefox-esr at any point in time?
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
            
Install using
breworapt-get- https://gist.github.com/MichaelCurrin/b8f616b3182ea98ef88c3042b988402c