{"id":20426231,"url":"https://github.com/shellspec/sh-webdriver","last_synced_at":"2025-10-30T02:14:27.802Z","repository":{"id":245436712,"uuid":"349573533","full_name":"shellspec/sh-webdriver","owner":"shellspec","description":"Selenium/WebDriver bindings for shell script","archived":false,"fork":false,"pushed_at":"2021-03-21T11:42:14.000Z","size":9,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-15T15:42:00.310Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/shellspec.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-19T22:47:08.000Z","updated_at":"2023-08-07T19:52:30.000Z","dependencies_parsed_at":"2024-06-22T05:04:10.011Z","dependency_job_id":"2a5033f5-6294-429c-910e-2036a0b55cd5","html_url":"https://github.com/shellspec/sh-webdriver","commit_stats":null,"previous_names":["shellspec/sh-webdriver"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellspec%2Fsh-webdriver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellspec%2Fsh-webdriver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellspec%2Fsh-webdriver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellspec%2Fsh-webdriver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shellspec","download_url":"https://codeload.github.com/shellspec/sh-webdriver/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241967054,"owners_count":20050331,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-15T07:15:58.273Z","updated_at":"2025-10-30T02:14:22.781Z","avatar_url":"https://github.com/shellspec.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Selenium/WebDriver bindings for shell script\n\nNOTE: This project is released as part of the [ShellSpec](https://github.com/shellspec/shellspec) project,\nbut for now it is not related and can be used independently.\n\n----\n\n**Project Status**: Preview Release v0.1.0\n\nThis project is in the early stages of development. There are unimplemented features and\nit has not been fully tested. Incompatible changes may be made.\n**Bug reports and pull requests are welcome!**\n\nDocumentation for library is not yet available,\nsee [webdriver.sh](https://github.com/shellspec/sh-webdriver/blob/main/lib/webdriver.sh).\n\n[WebDriver API Support Status](docs/status.md)\n\n----\n\n## Quick start\n\n```sh\n#!/bin/sh\nset -eu\n\n. ./lib/webdriver.sh\n\nchrome_options() {\n  echo '{ \"args\": [] }'\n  # echo '{ \"args\": [\"--headless\"] }'\n}\n\n# You need to run the `chromedriver` beforehand\nWebDriver driver=\"$(ChromeDriver chrome_options \"http://localhost:9515\")\"\ndriver get \"https://www.google.com\"\n\nWebElement element=\"$(driver find_element \"css selector:[name=q]\")\"\nelement send_keys \"WebDriver\" :enter\n\n# **Shorthand**\n# driver find_element \"css selector:[name=q]\" send_keys \"WebDriver\" :enter\n\nfor element_id in $(driver find_elements \"css selector:a\"); do\n  WebElement element=\"$element_id\"\n  element attribute \"text\"\ndone\n\ndriver quit\nunset -f element driver\n```\n\n## Requirements\n\n- POSIX shell (`dash`, `bash`, `ksh`, `zsh`, etc.)\n- `curl`, `jq`, `base64`\n- WebDriver\n\n| WebDriver                                                                                | Version                |\n| ---------------------------------------------------------------------------------------- | ---------------------- |\n| [Google Chrome Driver](https://chromedriver.chromium.org/downloads)                      | Tested on 89.0.4389.23 |\n| [Mozilla GeckoDriver](https://github.com/mozilla/geckodriver)                            | Not yet tested         |\n| [Microsoft Edge Driver](https://developer.microsoft.com/microsoft-edge/tools/webdriver/) | Not yet tested         |\n| [Opera](https://github.com/operasoftware/operachromiumdriver)                            | Not yet tested         |\n| [IEDriver](https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver)           | Not yet tested         |\n| SafariDriver (Builtin)                                                                   | Not yet tested         |\n\n## Environment variables\n\n- `WEBDRIVER_SH_DEBUG` - If set, outputs HTTP logs.\n\n## TODO\n\n- WebDriver API\n  - Actions\n  - Print\n  - HTTP Proxy\n  - Shadow root\n  - Bidi API, DevTools (Support for WebSocket is required. Feasible?)\n- Additional Functions\n  - Select\n  - Conditional Waits\n  - Events\n  - Some useful functions\n  - High level API (?)\n- Documentation\n  - References\n  - Page object models for shell script\n\n## License\n\nMIT License","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellspec%2Fsh-webdriver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshellspec%2Fsh-webdriver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellspec%2Fsh-webdriver/lists"}