Source code for pymyinstall.installcustom.install_custom_chromedriver

"""
Various functions to install `MinGW <http://www.mingw.org/>`_.


:githublink:`%|py|5`
"""
from __future__ import print_function
import sys
import os
import re

from .install_custom import download_page, download_file
from ..installhelper.install_cmd_helper import unzip_files


[docs]def install_chromedriver(dest_folder=".", fLOG=print, install=True, version=None): """ Installs `chromedriver <https://sites.google.com/a/chromium.org/chromedriver/>`_. :param dest_folder: where to download the setup :param fLOG: logging function :param install: install (otherwise only download) :param version: version to install (unused) :return: zip file in a list or list of unzipped files This is required for `Selenium <https://selenium-python.readthedocs.io/>`_. :githublink:`%|py|25` """ if version is None: url = "https://sites.google.com/a/chromium.org/chromedriver/" content = download_page(url) reg = re.compile( "(<a href=\\\"https://chromedriver." "storage.googleapis.com/" "index.html[?]path=([0-9]+([.][0-9]+){1,3})/)") f = reg.findall(content) if not f: raise Exception( "Unable to get the last version number for ChromeDriver, " "url='{}'".format(url)) version = f[0][1] if sys.platform.startswith("win"): url = "http://chromedriver.storage.googleapis.com/{0}/chromedriver_win32.zip".format( version) elif sys.platform.startswith("mac"): url = "http://chromedriver.storage.googleapis.com/{0}/chromedriver_mac32.zip".format( version) else: url = "http://chromedriver.storage.googleapis.com/{0}/chromedriver_linux64.zip".format( version) name = url.split("/")[-1] outfile = os.path.join(dest_folder, name) if fLOG: fLOG("[pymy] chromedriver, download from ", url) download_file(url, outfile, fLOG=fLOG) if install: return unzip_files(outfile, whereTo=dest_folder, fLOG=fLOG) else: return [outfile]