{"id":13424499,"url":"https://github.com/ysbaddaden/selenium-webdriver-crystal","last_synced_at":"2025-03-15T18:35:15.875Z","repository":{"id":66263933,"uuid":"47899618","full_name":"ysbaddaden/selenium-webdriver-crystal","owner":"ysbaddaden","description":"Selenium Webdriver client for the Crystal programming language","archived":true,"fork":false,"pushed_at":"2020-06-23T13:14:28.000Z","size":33,"stargazers_count":57,"open_issues_count":9,"forks_count":16,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-10-26T23:55:19.725Z","etag":null,"topics":["crystal","selenium","webdriver"],"latest_commit_sha":null,"homepage":null,"language":"Crystal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ysbaddaden.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2015-12-13T00:05:28.000Z","updated_at":"2024-07-09T09:49:17.000Z","dependencies_parsed_at":"2023-06-12T19:00:23.103Z","dependency_job_id":null,"html_url":"https://github.com/ysbaddaden/selenium-webdriver-crystal","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysbaddaden%2Fselenium-webdriver-crystal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysbaddaden%2Fselenium-webdriver-crystal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysbaddaden%2Fselenium-webdriver-crystal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysbaddaden%2Fselenium-webdriver-crystal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ysbaddaden","download_url":"https://codeload.github.com/ysbaddaden/selenium-webdriver-crystal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243775861,"owners_count":20346279,"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":["crystal","selenium","webdriver"],"created_at":"2024-07-31T00:00:55.246Z","updated_at":"2025-03-15T18:35:10.866Z","avatar_url":"https://github.com/ysbaddaden.png","language":"Crystal","funding_links":[],"categories":["Crystal"],"sub_categories":[],"readme":"# Selenium::Webdriver\n\nSelenium Webdriver bindings for the Crystal programming language.\n\nWARNING: this shard initialy implemented the now obsolete\n[JsonWireProtocol](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol),\nbut should be compatible with the\n[W3C Webdriver](https://w3c.github.io/webdriver/webdriver-spec.html) spec.\n\nKnown working combinations are Selenium 2.48.2 and Firefox 34 (JSONWireProtocol),\nas well as Selenium 3.5.3, Firefox 55 and the now required Geckodriver 0.18.0\n(W3C Webdriver).\n\nSee https://github.com/matthewmcgarvey/selenium.cr for an up-to-date library (as\nof June 2020) that implements the W3C Webdriver spec directly.\n\n## Usage\n\nOnly the Remote driver is available, so you need to download the release\n[Selenium Standalone Server](http://docs.seleniumhq.org/download/) then start\nit (adjust the version):\n\n```\n$ java -jar selenium-server-standalone-2.48.2.jar\n```\n\nYou may now start a session, which will launch a browser, and start interacting\nwith it:\n\n```crystal\nrequire \"selenium/webdriver\"\n\ncapabilities = {\n  browserName: \"firefox\",\n  platform: \"ANY\"\n}\ndriver = Selenium::Webdriver.new\nsession = Selenium::Session.new(driver, capabilities)\n\nsession.url = \"http://crystal-lang.org/api\"\npp session.url # =\u003e \"http://crystal-lang.org/api\"\n\ninput = session.find_element(:css, \"input[type=search]\")\ninput.send_keys(\"Client\")\nsleep 1\n\nsearch_list = session.find_element(:class_name, \"search-list\")\ntypes = search_list.find_elements(:css, \"li.search-result--type\")\npp count = types.size # =\u003e 6\n\nsession.stop\n```\n\n\n## Reference\n\n- [JSON Wire Protocol](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol)\n- [W3C Webdriver](https://w3c.github.io/webdriver/webdriver-spec.html)\n\n\n## License\n\nDistributed under the [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0)\n\n\n## Author\n\n- Julien Portalier — @ysbaddaden\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysbaddaden%2Fselenium-webdriver-crystal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fysbaddaden%2Fselenium-webdriver-crystal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysbaddaden%2Fselenium-webdriver-crystal/lists"}