Skip to content

Instantly share code, notes, and snippets.

@GarnetSunset
Last active June 28, 2019 14:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GarnetSunset/ca8f3fb07266dda819470b2e42709dad to your computer and use it in GitHub Desktop.
Save GarnetSunset/ca8f3fb07266dda819470b2e42709dad to your computer and use it in GitHub Desktop.
Downloads the latest chrome webdriver, works on all platforms.
import os, platform, requests, zipfile
import xml.etree.ElementTree as ET
cwd = os.getcwd()
getArch = platform.architecture()
xmlUrl = "https://chromedriver.storage.googleapis.com/"
zipName = []
XML = requests.get(xmlUrl, stream=True)
tree = ET.parse(XML.raw)
root = tree.getroot()
if platform.system() == 'Windows':
for elem in root.iter():
if elem.text is not None and "chromedriver_win32.zip" in elem.text:
zipName.append(elem.text)
r = requests.get(xmlUrl+zipName[-1], allow_redirects=True)
open('chromedriver_win32.zip', 'wb').write(r.content)
zipper = zipfile.ZipFile("chromedriver_win32.zip", 'r')
zipper.extractall(cwd)
zipper.close()
os.remove("chromedriver_win32.zip")
if platform.system() == 'Darwin':
for elem in root.iter():
if elem.text is not None and "chromedriver_mac32.zip" in elem.text:
zipName.append(elem.text)
r = requests.get(xmlUrl+zipName[-1], allow_redirects=True)
open('chromedriver_mac32.zip', 'wb').write(r.content)
zipper = zipfile.ZipFile("chromedriver_mac32.zip", 'r')
zipper.extractall(cwd)
zipper.close()
os.remove("chromedriver_mac32.zip")
if platform.system() == 'Linux':
if getArch[0] == '64bit':
for elem in root.iter():
if elem.text is not None and "chromedriver_linux64.zip" in elem.text:
zipName.append(elem.text)
r = requests.get(xmlUrl+zipName[-1], allow_redirects=True)
open('chromedriver_linux64.zip', 'wb').write(r.content)
zipper = zipfile.ZipFile("chromedriver_linux64.zip", 'r')
zipper.extractall(cwd)
zipper.close()
os.remove("chromedriver_linux64.zip")
else:
for elem in root.iter():
if elem.text is not None and "chromedriver_linux32.zip" in elem.text:
zipName.append(elem.text)
r = requests.get(xmlUrl+zipName[-1], allow_redirects=True)
open('chromedriver_linux32.zip', 'wb').write(r.content)
zipper = zipfile.ZipFile("chromedriver_linux32.zip", 'r')
zipper.extractall(cwd)
zipper.close()
os.remove("chromedriver_linux32.zip")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment