{"id":22328147,"url":"https://github.com/shimabox/selenium-downloader","last_synced_at":"2026-04-24T23:34:18.074Z","repository":{"id":57049395,"uuid":"155634235","full_name":"shimabox/selenium-downloader","owner":"shimabox","description":"selenium-server-standalone, ChromeDriver, geckodriver and IEDriverServer downloader.","archived":false,"fork":false,"pushed_at":"2020-04-29T02:38:20.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-18T02:49:18.184Z","etag":null,"topics":["chromedriver","downloader","geckodriver","iedriverserver","selenium"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shimabox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-31T23:06:01.000Z","updated_at":"2020-04-29T02:40:29.000Z","dependencies_parsed_at":"2022-08-23T17:50:09.367Z","dependency_job_id":null,"html_url":"https://github.com/shimabox/selenium-downloader","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/shimabox/selenium-downloader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shimabox%2Fselenium-downloader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shimabox%2Fselenium-downloader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shimabox%2Fselenium-downloader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shimabox%2Fselenium-downloader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shimabox","download_url":"https://codeload.github.com/shimabox/selenium-downloader/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shimabox%2Fselenium-downloader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32245149,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chromedriver","downloader","geckodriver","iedriverserver","selenium"],"created_at":"2024-12-04T03:11:43.297Z","updated_at":"2026-04-24T23:34:18.059Z","avatar_url":"https://github.com/shimabox.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# selenium-downloader\nselenium-server-standalone, ChromeDriver, geckodriver and IEDriverServer downloader.\n\n[![License](https://poser.pugx.org/shimabox/selenium-downloader/license)](https://packagist.org/packages/shimabox/selenium-downloader)\n[![Build Status](https://travis-ci.org/shimabox/selenium-downloader.svg?branch=master)](https://travis-ci.org/shimabox/selenium-downloader)\n\n## Features\n\n- Can download selenium related assets interactively or with option(not interactive).\n  - https://selenium-release.storage.googleapis.com/index.html\n  - http://chromedriver.chromium.org/downloads\n  - https://github.com/mozilla/geckodriver/releases\n- Selectable from Mac, Windows, Linux.\n\n## Demo\n\n### Interactively.\n\n![demo-interaction](https://github.com/shimabox/assets/raw/master/selenium-downloader/demo-interaction.gif)\n\n### With option (not interactive).\n\n![demo-option](https://github.com/shimabox/assets/raw/master/selenium-downloader/demo-option.gif)\n\n## Requirements\n\n- PHP 5.5+ or newer\n\n## Installation\n\nVia Composer\n\n```\n$ composer require shimabox/selenium-downloader\n```\n\nPlease refer to the link below.  \n[##instant-download](https://github.com/shimabox/selenium-downloader#instant-download \"shimabox/selenium-downloader: selenium-server-standalone, ChromeDriver, geckodriver and IEDriverServer downloader.\")\n\nDevelop\n\n```\n$ git clone https://github.com/shimabox/selenium-downloader\n$ cd selenium-downloader\n$ composer install\n```\n\n## Setting(.env)\n\nIf you need to change the default settings, copy the `.env.default` file, create an `.env` file, and modify the `.env` file.  \nThe default setting looks at `.env.default` file.\n\n```\n$ cp .env.dafault .env\n$ vim .env\n\n// The default of output directory path(Output to \"selenium-downloader/xxx\" if not set).\nDEFAULT_OUTPUT_DIR=\n// The default version of selenium-server-standalone.\n// Why 3.8.1? Because there are cases where it will not work unless pass-through mode can be set to false(-enablePassThrough false).\nDEFAULT_SELENIUM_VER='3.8.1'\n// The default version of ChromeDriver.\nDEFAULT_CHROMEDRIVER_VER='81.0.4044.69'\n// The default version of geckodriver.\nDEFAULT_GECKODRIVER_VER='0.26.0'\n// The default version of IEDriverServer.\nDEFAULT_IEDRIVER_VER='3.141.59'\n```\n\nIf `DEFAULT_OUTPUT_DIR` is not set, the downloaded asset is output to `selenium-downloader/xxx`.\n\n## Usage\n\n### In the case of interactive mode.\n\n```\n# Run without option.\n$ php selenium_downloader.php\n```\n\ne.g)\n\n```\n# \"m\" or \"w\" or \"l\" is mandatory.\nPlease select platform. [m]ac, [w]indows, [l]inux: w\n# Specify the directory path to output.\n# If not specified, it is output to the path specified by .env.dafault|.env(DEFAULT_OUTPUT_DIR).\n# If there is still no value, it is output to \"selenium-downloader/xxx\".\nPlease enter the output directory\nDefault[/default/output/path]:\n# Default \"No\".\nDo you need Selenium? [N]o, [y]es: y\n# Default \"3.8.1\".\n# Why 3.8.1? Because there are cases where it will not work unless pass-through mode can be set to false(-enablePassThrough false).\nPlease enter selenium-server-standalone version Default [3.8.1]: 3.8.1\n# Default \"No\".\nDo you need ChromeDriver? [N]o, [y]es: y\n# Default \"81.0.4044.69\".\nPlease enter ChromeDriver version Default [81.0.4044.69]:\n# Default \"No\".\nDo you need GeckoDriver? [N]o, [y]es: y\n# Default \"0.26.0\".\nPlease enter GeckoDriver version Default [0.26.0]:\n# Default \"No\".\nDo you need IEDriver? [N]o, [y]es: y\n# Default \"3.141.59\".\nPlease enter IEDriver version Default [3.141.59]:\n# Default \"32\" (Because key input is earlier than 64bit version).\nPlease enter OS bit version [32]bit, [64]bit, Default[32]:\nDone.\n```\n\n### When specifying options (not interactive).\n\nSupports the following options.\n\n|Format|Description|\n|:---|:---|\n|-h,--help|Display help message and exit.|\n|-p|Select platform [m]ac or [w]indows or [l]inux.\u003cbr\u003eRequired except that \"-h, --help\" is specified.|\n|-d|Specify the directory path to output.\u003cbr\u003eIf not specified, it is output to the path specified by .env.dafault\\|.env(DEFAULT_OUTPUT_DIR).\u003cbr\u003eIf there is still no value, it is output to \"selenium-downloader/xxx\".|\n|-s|The version of selenium-standalone-server.\u003cbr\u003e(e.g 3.8.1, 3.7(3.7.0)\u003cbr\u003e(Recommend version 3.8.1)|\n|-c|The version of ChromeDriver.\u003cbr\u003e(e.g 81.0.4044.69, 2.43|\n|-g|The version of GeckoDriver.\u003cbr\u003e(e.g 0.26(0.26.0), 0.20.1|\n|-i|The version of IEDriverServer.\u003cbr\u003e(e.g 3.141.59, 3.14(3.14.0)|\n|-b|The number of OS bits (32 or 64).\u003cbr\u003eDefault is \"32\" (Because key input is earlier than 64bit version)\u003cbr\u003eValid only when IEDriverServer is specified.|\n\nHelp message.\n\n```\n$ php selenium_downloader.php -h\nUsage:\n  -h,--help\n    Display help message and exit.\n  -p platform (required)\n    Select platform [m]ac or [w]indows or [l]inux.\n    Required except that \"--help, -h\" is specified.\n  -d output_dir_path\n    Enter the output directory path.\n    If not specified, it is output to the path specified by .env.dafault|.env(DEFAULT_OUTPUT_DIR).\n    If there is still no value, it is output to \"selenium-downloader/xxx\".\n  -s selenium-standalone-server_ver\n    Enter the version of selenium-standalone-server. (e.g 3.8.1, 3.7(3.7.0)\n    (Recommend version 3.8.1)\n  -c ChromeDriver_ver\n    Enter the version of ChromeDriver. (e.g 81.0.4044.69, 2.43\n  -g geckodriver_ver\n    Enter the version of GeckoDriver. (e.g 0.26(0.26.0), 0.20.1\n  -i IEDriverServer_ver\n    Enter the version of IEDriverServer. (e.g 3.141.59, 3.14(3.14.0)\n  -b bit_of_os\n    Enter the number of OS bits (32 or 64).\n    Default is \"32\" (Because key input is earlier than 64bit version).\n    Valid only when IEDriverServer is specified.\n\ne.g) 1 Basic.\n$ php selenium_downloader.php -p m -s 3.8.1 -c 81.0.4044.69 -g 0.26\ne.g) 2 When specifying the output directory.\n$ php selenium_downloader.php -p m -d /your/path/to -s 3.8.1\ne.g) 3 When downloading the 64 bit version of the IEDriverServer.\n$ php selenium_downloader.php -p w -i 3.141.59 -b 64\ne.g) 4 When downloading only geckodriver.\n$ php selenium_downloader.php -p m -g 0.26\nor\n$ php selenium_downloader.php -p m -s \"\" -c \"\" -g 0.26\n```\n\n## Instant download\n\nFor example, create `instant_selenium.php`.\n\n```php\n\u003c?php\nrequire_once 'vendor/autoload.php';\n\nuse SMB\\SeleniumDownloader\\Downloader;\n// Interface\nuse SMB\\SeleniumDownloader\\Argument\\Optionable;\n\n// Prepare a class that implements the optionable interface.\nclass InstantSelenium implements Optionable\n{\n    /**\n     * Returns true if option is specified.\n     *\n     * @return boolean\n     */\n    public function isSpecified()\n    {\n        return true;\n    }\n\n    /**\n     * If true it will output a help message.\n     *\n     * @return boolean\n     */\n    public function isSpecifiedHelp()\n    {\n        return false;\n    }\n\n    /**\n     * Create help message.\n     *\n     * @return string\n     */\n    public function createHelpMessage()\n    {\n        return '';\n    }\n\n    /**\n     * Get optional arguments.\n     *\n     * e.g)\n     * \u003ccode\u003e\n     * return [\n     *     'p' =\u003e 'w',            // Select platform [m]ac or [w]indows or [l]inux.\n     *     'd' =\u003e '.',            // Enter the output directory path.\n     *     's' =\u003e '3.8.1',        // Enter the version of selenium-standalone-server. (e.g 3.8.1, 3.7(3.7.0)\n     *     'c' =\u003e '81.0.4044.69', // Enter the version of ChromeDriver. (e.g 81.0.4044.69, 2.43\n     *     'g' =\u003e '0.26.0',       // Enter the version of GeckoDriver. (e.g 0.26(0.26.0), 0.20.1\n     *     'i' =\u003e '3.141.59',     // Enter the version of IEDriverServer. (e.g 3.141.59, 3.14(3.14.0)\n     *     'b' =\u003e '32',           // Enter the number of OS bits (32 or 64).\n     * ];\n     * \u003c/code\u003e\n     *\n     * @return array\n     */\n    public function get()\n    {\n        return [\n            'p' =\u003e 'm', // Select mac.\n            's' =\u003e '3.8.1',\n            'c' =\u003e '81.0.4044.69',\n            'g' =\u003e '0.26.0',\n        ];\n    }\n}\n\n$downloader = new Downloader(new InstantSelenium());\n$downloader-\u003eexecute();\n```\n\n#### Execute\n\n```\n$ php instant_selenium.php\n```\n\n![demo-instant](https://github.com/shimabox/assets/raw/master/selenium-downloader/demo-instant.gif)\n\n## Note\n\nIf there is one with the same name, it will be overwritten.\n\n## License\n\nThe MIT License (MIT). Please see [License File](LICENSE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshimabox%2Fselenium-downloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshimabox%2Fselenium-downloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshimabox%2Fselenium-downloader/lists"}