{ "info": { "author": "Lucas Trajano; Felipe Viegas; Jonatha Daguerre", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Quality Assurance", "Topic :: Software Development :: Testing" ], "description": "# Driloader\n\n[![pypi version](https://img.shields.io/pypi/v/driloader.svg)](https://pypi.python.org/pypi/driloader) [![license](https://img.shields.io/pypi/l/driloader.svg)](https://pypi.python.org/pypi/driloader) [![python versions](https://img.shields.io/pypi/pyversions/driloader.svg)](https://pypi.python.org/pypi/driloader) [![contributors](https://img.shields.io/github/contributors/lucasmello/Driloader.svg)](https://github.com/lucasmello/Driloader/graphs/contributors) [![Build Status](https://travis-ci.org/lucasmello/Driloader.svg?branch=master)](https://travis-ci.org/lucasmello/Driloader)\n\nSelenium drivers downloader tool with standalone CLI support.\n\n ## Why is it for?\n\n Selenium needs a specific driver to work with each browser. Every driver has a version that works with specific browser\n versions, and it's really annoying reading the changelogs to check if the current driver will work with the new browser\n version. Plus, a lot of times a test crashes because the browser has updated and the driver is not compatible anymore.\n That's why Driloader exists: To make this process so much easier! Driloader autodetect the browser version (it supports Chrome, Firefox and Internet Explorer) and download the driver according to it's version.\n\n## Requires\n* Python 3.4 or higher\n\n## Setup the project\nThis project uses [Pipenv](https://github.com/pypa/pipenv) as packaging tool. Please make sure you have it installed in your system.\n\nAlso, we use [make](https://www.gnu.org/software/make/) as task runner, so you can see the available tasks by running `make help`.\n\n```bash\n# Clone the project\nbash: $ git clone https://github.com/lucasmello/Driloader.git\nbash: $ cd Driloader\n# Install dependencies\nbash: $ make install\npipenv install --dev\nInstalling dependencies from Pipfile.lock\u2026\n \ud83d\udc0d \u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589\u2589 20/20 \u2014 00:00:03\n# Active virtual env\nbash: $ pipenv shell\nsource ~/.local/share/virtualenvs/driloader-ZPASDPNJ/bin/activate\n# Run linter and tests\n(driloader-ZPASDPNJ) driloader: $ make lint test\n\n```\n\n## Installing\n```\n pip install driloader\n```\n\n## Usage with Firefox\n```python\nfrom driloader import driloader\nfrom selenium.webdriver import Firefox\n\ndriver_path = driloader.download_gecko_driver()\nbrowser = Firefox(executable_path=driver_path)\nbrowser.get(\"http://www.google.com\")\nbrowser.quit()\n```\n\n## Usage with Chrome\n```python\nfrom driloader import driloader\nfrom selenium.webdriver import Chrome\n\ndriver_path = driloader.download_chrome_driver()\nbrowser = Chrome(executable_path=driver_path)\nbrowser.get(\"http://www.google.com\")\nbrowser.quit()\n```\n\n## Usage with Internet Explorer\n```python\nfrom driloader import driloader\nfrom selenium.webdriver import Ie\n\ndriver_path = driloader.download_ie_driver()\nbrowser = Ie(executable_path=driver_path)\nbrowser.get(\"http://www.google.com\")\nbrowser.quit()\n```\n\n## CLI and standalone usage\n```bash\npython -m driloader\n\nusage: driloader [-h] (--firefox | --chrome | --internet-explorer | --all)\n\noptional arguments:\n -h, --help show this help message and exit\n --firefox, -f get Firefox version.\n --chrome, -c get Google Chrome version.\n --internet-explorer, -i\n get Internet Explorer version.\n --all look for browsers an get their versions.\n```\n### Retrieve Firefox version\n```bash\n$ python -m driloader --firefox\n45\n```\n\n### Retrieve Google Chrome version\n```bash\n$ python -m driloader --chrome\n58\n```\n\n### Retrieve Internet Explorer version (Windows system)\n```cmd\n> python -m driloader -i\n11\n```\n\n### Retrieve all browsers version (Windows system)\n```bash\n> python -m driloader --all\nInternet Explorer: 11\nFirefox: 45\nGoogle Chrome: 58\n\n```\n\n### Retrieve all browsers version (non-Windows system)\n```bash\n# Getting from a non-Windows system\n$ python -m driloader --all\nInternet Explorer: Error: Unable to get the Internet Explorer version.\n Cause: Error: Unable to retrieve IE version..\n Cause: System is not Windows.\nFirefox: 45\nGoogle Chrome: 58\n\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Driloader", "package_url": "https://pypi.org/project/Driloader/", "platform": "", "project_url": "https://pypi.org/project/Driloader/", "project_urls": null, "release_url": "https://pypi.org/project/Driloader/1.2.5/", "requires_dist": [ "certifi", "chardet", "idna", "requests", "urllib3" ], "requires_python": "", "summary": "Driver downloader for Selenium", "version": "1.2.5" }, "last_serial": 4016540, "releases": { "1.1.5": [ { "comment_text": "", "digests": { "md5": "930bed0f024c82f4a59b0aa6d8361c81", "sha256": "9a382c9a163dc565776e7c2b24693851683bcda87b03112db13ca4b2b1c1b152" }, "downloads": -1, "filename": "driloader-1.1.5.tar.gz", "has_sig": false, "md5_digest": "930bed0f024c82f4a59b0aa6d8361c81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6786, "upload_time": "2017-09-27T20:12:17", "url": "https://files.pythonhosted.org/packages/c9/66/fbc6c3e72545568da9c7b04e29e44fabcfe3beb8c48941ae29c069ad2417/driloader-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "bb69861a493b2659ac0ecbbc8497bf43", "sha256": "2a781f412458798aabdea607b6071248c0d3c6351ea4f9d613f927e9d1a27cc4" }, "downloads": -1, "filename": "driloader-1.1.6.tar.gz", "has_sig": false, "md5_digest": "bb69861a493b2659ac0ecbbc8497bf43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9186, "upload_time": "2017-11-03T17:50:28", "url": "https://files.pythonhosted.org/packages/e0/10/e264045e7cb559ebac08bfa9b80f3a91b303d80bf946321ac0bd9a995eb5/driloader-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "bb05ecbcd40f9a3eb77dfc99f102e6e6", "sha256": "322b6cfdf66139aaded4a4795fb04705edad34ebe2f91162bb51e157ec591c63" }, "downloads": -1, "filename": "driloader-1.1.7.tar.gz", "has_sig": false, "md5_digest": "bb05ecbcd40f9a3eb77dfc99f102e6e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10374, "upload_time": "2017-11-03T18:08:27", "url": "https://files.pythonhosted.org/packages/24/7f/5bb4fee7d0c9de33e3005dff4b6dd27f1a76bc6e53d209e7e6e3174af0ed/driloader-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "6c3e6131a63313d6bbe2afd0665a0e4c", "sha256": "667604f43f641aff69b30ae4ab7c29a501cc715aaf1877ec1c617c71bae1e8b5" }, "downloads": -1, "filename": "driloader-1.1.8.tar.gz", "has_sig": false, "md5_digest": "6c3e6131a63313d6bbe2afd0665a0e4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11585, "upload_time": "2017-11-21T17:03:34", "url": "https://files.pythonhosted.org/packages/f3/60/8006ea314f32f6239e0edef01c7d14e2c011c3f5d5a1c849abdbaf846341/driloader-1.1.8.tar.gz" } ], "1.1.9": [ { "comment_text": "", "digests": { "md5": "6f9c4b5c631bb56a49fcb087aec3d82b", "sha256": "6505759be94c755031b45668c60eb42e5466107b3dac1a1b44fc50d6c88178b1" }, "downloads": -1, "filename": "driloader-1.1.9.tar.gz", "has_sig": false, "md5_digest": "6f9c4b5c631bb56a49fcb087aec3d82b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11682, "upload_time": "2018-01-31T18:21:27", "url": "https://files.pythonhosted.org/packages/7d/4d/2b71ef6ce100e18b03f9386e428a255cb7781d43056029aed1207c45636e/driloader-1.1.9.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "c2c1ba7c44162c28eec51d0be187f7c6", "sha256": "8d03b31c3b3300f1d14871ad2e83ccddd0244882866f7ed9b7c91e45dfb2df67" }, "downloads": -1, "filename": "driloader-1.2.0.tar.gz", "has_sig": false, "md5_digest": "c2c1ba7c44162c28eec51d0be187f7c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11674, "upload_time": "2018-05-10T18:01:41", "url": "https://files.pythonhosted.org/packages/dd/44/951b8f818b2644fb38525d57316016a175df4587a7076c1cc68ad52305cf/driloader-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "064b96c52abcb9e4baf8da1b97929eda", "sha256": "26814a746a065e3b448c41bb342a9038919236b35a0cf031f3f22d0dd7b86b65" }, "downloads": -1, "filename": "driloader-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "064b96c52abcb9e4baf8da1b97929eda", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14035, "upload_time": "2018-05-21T22:35:22", "url": "https://files.pythonhosted.org/packages/f6/1a/b68302678b32505875d284040213294159cc56324759ef92a0954203fc1f/driloader-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef423728ea925aa6b7914132ea871d6d", "sha256": "ef5fa295f19566414e50f9fc32f98906fa510a030b7edc3dc5b9780824eeafb5" }, "downloads": -1, "filename": "driloader-1.2.1.tar.gz", "has_sig": false, "md5_digest": "ef423728ea925aa6b7914132ea871d6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10591, "upload_time": "2018-05-21T22:35:24", "url": "https://files.pythonhosted.org/packages/68/09/9962e93046eeac8b8e54716c181185ea5ebcbbeb49b107fd56e321de82dc/driloader-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "4c6882b6b9d2c360404ca9046bc888bb", "sha256": "a92d95170fb6bd8482ad28b2f1e042de50b28c7cd888c847ebe10175d0ecae40" }, "downloads": -1, "filename": "driloader-1.2.2.tar.gz", "has_sig": false, "md5_digest": "4c6882b6b9d2c360404ca9046bc888bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10580, "upload_time": "2018-06-29T00:43:51", "url": "https://files.pythonhosted.org/packages/33/d1/e8b0d4b0df5da403654eee9bba57bdf4dd7d96016824918a38d156448b64/driloader-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "816bbd3ab9759708b809a02d98122304", "sha256": "e05e6226f29a760de592fc67daabd419de1ea4b38cab178093bd3b1ba6e93ddd" }, "downloads": -1, "filename": "driloader-1.2.3.tar.gz", "has_sig": false, "md5_digest": "816bbd3ab9759708b809a02d98122304", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10089, "upload_time": "2018-06-29T01:21:05", "url": "https://files.pythonhosted.org/packages/80/d4/5ebb62d0ebec1d947751b78cfe9211a8cca586743a18166427448359e377/driloader-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "82864a4fc0130e4d70cc312f966243b9", "sha256": "096e1d495cee267e9c46999c8c2f8cdea3fc7a054d2d551a4e124bc22ecd944b" }, "downloads": -1, "filename": "driloader-1.2.4.tar.gz", "has_sig": false, "md5_digest": "82864a4fc0130e4d70cc312f966243b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10106, "upload_time": "2018-06-29T01:42:00", "url": "https://files.pythonhosted.org/packages/25/70/a0594c5186ae986aad424d50e0bdbc88fc64fc400b45f6771da3917e3c8b/driloader-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "08173d67df77ea25d59d384b1871c620", "sha256": "3f40ee562333a4831ab52c080106572b993d0880ce6fcc3ae714cd2cbd83bc5c" }, "downloads": -1, "filename": "driloader-1.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "08173d67df77ea25d59d384b1871c620", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14076, "upload_time": "2018-06-29T20:10:01", "url": "https://files.pythonhosted.org/packages/1a/fc/a391765f2936871ef95f01cd0b1736f86261448f3dd94f80acfa8222ee0d/driloader-1.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0fbeb7d7fef35d4066db96d2abe0148", "sha256": "8a736129b7da686cc43376ffa2ff4ebb92d2153510ba17005e25efe0fb9f6ed6" }, "downloads": -1, "filename": "driloader-1.2.5.tar.gz", "has_sig": false, "md5_digest": "e0fbeb7d7fef35d4066db96d2abe0148", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12055, "upload_time": "2018-06-29T20:10:03", "url": "https://files.pythonhosted.org/packages/4d/4f/ecc6eee0126f02da5ad1aa1b08757fef8a0ad1a31cfb85f7feaa7a6bf6dc/driloader-1.2.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "08173d67df77ea25d59d384b1871c620", "sha256": "3f40ee562333a4831ab52c080106572b993d0880ce6fcc3ae714cd2cbd83bc5c" }, "downloads": -1, "filename": "driloader-1.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "08173d67df77ea25d59d384b1871c620", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14076, "upload_time": "2018-06-29T20:10:01", "url": "https://files.pythonhosted.org/packages/1a/fc/a391765f2936871ef95f01cd0b1736f86261448f3dd94f80acfa8222ee0d/driloader-1.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0fbeb7d7fef35d4066db96d2abe0148", "sha256": "8a736129b7da686cc43376ffa2ff4ebb92d2153510ba17005e25efe0fb9f6ed6" }, "downloads": -1, "filename": "driloader-1.2.5.tar.gz", "has_sig": false, "md5_digest": "e0fbeb7d7fef35d4066db96d2abe0148", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12055, "upload_time": "2018-06-29T20:10:03", "url": "https://files.pythonhosted.org/packages/4d/4f/ecc6eee0126f02da5ad1aa1b08757fef8a0ad1a31cfb85f7feaa7a6bf6dc/driloader-1.2.5.tar.gz" } ] }