{"__v":0,"_id":"569029fb48df220d004ca221","category":{"__v":60,"_id":"569002f19ebef90d0087289d","pages":["56900352769f210d00132595","5690047121fcf0190071d943","569004924719c119002ce654","569004ceb700ce0d002f4b94","569023e518c3920d00be8b37","569023f748df220d004ca215","5690240af7eb9a0d00f4465d","5690241b48df220d004ca217","5690243e48df220d004ca219","56902453741e9c0d00af2fb5","56902463efcc380d0043a5a1","5690247b18c3920d00be8b39","56902492f7eb9a0d00f4465f","569024a16c49d70d00f18075","569024b2efcc380d0043a5a3","569024cc48df220d004ca21b","569024ea18c3920d00be8b3b","5690258618c3920d00be8b3f","5690259bf7eb9a0d00f44662","569025b06c49d70d00f18077","569029b418c3920d00be8b43","569029d4f7eb9a0d00f44667","569029e8e056c80d00fdec58","569029fb48df220d004ca221","56902a1c18c3920d00be8b46","56902a45f7eb9a0d00f44669","56902a6be056c80d00fdec5a","56902a78f7eb9a0d00f4466b","56902a8848df220d004ca224","56902aa018c3920d00be8b4b","56902ace6c49d70d00f18085","56902ae0741e9c0d00af2fc6","56902aee48df220d004ca226","56902af8f7eb9a0d00f44674","56902b26efcc380d0043a5b1","56902b8148df220d004ca22a","56902ba918c3920d00be8b55","56902bb96c49d70d00f1808b","56902bc818c3920d00be8b57","56902bd518c3920d00be8b59","56902be218c3920d00be8b5b","56902bf66c49d70d00f1808e","56902c05e056c80d00fdec5d","56902c196c49d70d00f18090","56902c2648df220d004ca22d","56902c34f7eb9a0d00f44678","56902c5518c3920d00be8b5d","56902c62741e9c0d00af2fcc","56902cde48df220d004ca230","56902cea741e9c0d00af2fcf","56902d0ae056c80d00fdec60","56902d20efcc380d0043a5b4","56902d3448df220d004ca232","5696c3fbf9203821005fe2fb","5696c3fb9e2d000d00947ab0","5696c3fbf9203821005fe2fa","5697efee8d2a770d00d2fd17","569802611c4dc823005426c7","56a65c82b3ffe00d00156eaf","56f01f88332da41700f24b74"],"project":"568fde81b700ce0d002f4b43","version":"568fde82b700ce0d002f4b46","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-01-08T18:41:53.562Z","from_sync":false,"order":1,"slug":"commands","title":"Commands"},"parentDoc":null,"project":"568fde81b700ce0d002f4b43","user":"568fffce769f210d0013258f","version":{"__v":23,"_id":"568fde82b700ce0d002f4b46","project":"568fde81b700ce0d002f4b43","createdAt":"2016-01-08T16:06:26.373Z","releaseDate":"2016-01-08T16:06:26.373Z","categories":["568fde82b700ce0d002f4b47","568ff0e504440a1700e4cbbd","569002f19ebef90d0087289d","569004f4769f210d00132599","5690056d9ebef90d008728a0","569005d394c5030d0028813a","5690067804440a1700e4cbe2","569137eb3c4f510d00ec9b92","56913815e56a790d008dbfe3","569138ba3c4f510d00ec9b93","5691392f3c4f510d00ec9b94","56913bbe72f2810d007e4cb0","56933b8d6ebadc0d005b71d2","56933b8d6ebadc0d005b71d3","569564facaa32519009c41e6","5696a319b6d61f0d00acfb40","5696a319a857080d0082e8e8","5697efe43503e40d0061f4d1","5697efe48d2a770d00d2fd16","569e9597ffccd10d00a05c59","56a7a1523d33bc2100793d5c","56a7a32ecf6d771700baeee8","56b8b0f7ddeb231700e69825"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"bar","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-01-08T21:28:27.256Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":26,"body":"Get one or more DOM elements by selector or [alias](https://on.cypress.io/guides/using-aliases).\n\n`cy.get` supports all CSS based selectors. It is analogous to jQuery's `$(...)` in that any selector you pass to jQuery you can also pass to `cy.get`.\n\n| | |\n|--- | --- |\n| **Returns** | the new DOM element(s) found by the command. |\n| **Timeout** | `cy.get` will retry for the duration of the [`defaultCommandTimeout`](https://on.cypress.io/guides/configuration#section-timeouts) |\n\n***\n\n# [cy.get( *selector* )](#section-selector-usage)\n\nFinds one or more DOM elements based on the selector.\n\n***\n\n# [cy.get( *alias* )](#section-alias-usage)\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"[Read about using aliases first.](https://on.cypress.io/guides/using-aliases)\",\n  \"title\": \"New to Cypress?\"\n}\n[/block]\n\nYou can pass in the `:::at:::` character and the name of an alias as a parameter to find an [aliased](https://on.cypress.io/guides/using-aliases) element.\n\nInternally Cypress keeps a cache of all aliased elements.  If the element currently exists in the DOM, it is immediately returned.  If the element no longer exists, Cypress will re-query the element based on the previous selector path to find it again.\n\n***\n\n# Options\n\nPass in an options object to change the default behavior of `cy.get`.\n\n**cy.get( *selector*, *options* )**\n**cy.get( *alias*, *options* )**\n\nOption | Default | Notes\n--- | --- | ---\n`log` | `true` | whether to display command in command log\n`timeout` | [`defaultCommandTimeout`](https://on.cypress.io/guides/configuration#section-timeouts) | Total time to retry getting the element\n\n***\n\n# Selector Usage\n\n## Find the element with an id of main\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy.get(\\\"#main\\\")\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n## Find the first `li` descendent within a `ul`\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy.get(\\\"ul li:first\\\")\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n## Find the element with class dropdown-menu and click it.\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy\\n  .get(\\\".dropdown-menu\\\").click()\\n\\n  // Break out of the previous command chain and\\n  // query for #search from the root document.\\n  .get(\\\"#search\\\").type(\\\"mogwai\\\")\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n## Reset the current scope in a [`cy.within`](https://on.cypress.io/api/within)\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"// Find form and scope all new queries to within form.\\ncy.get(\\\"form\\\").within(function(){\\n  cy\\n    // Find the input within form and type Pamela\\n    .get(\\\"input\\\").type(\\\"Pamela\\\")\\n    // Find the element textarea within form and type in it\\n    .get(\\\"textarea\\\").type(\\\"is a developer\\\")\\n})\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n# Alias Usage\n\nFor a detailed explanation of aliasing, [read more about aliasing here](https://on.cypress.io/guides/using-aliases).\n\n## Retrieve aliased `todos` elements\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy.get(\\\"ul#todos\\\").as(\\\"todos\\\")\\n\\n//...hack hack hack...\\n\\n//later retrieve the todos\\ncy.get(\\\"@todos\\\")\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n## Alias the `submitBtn` in a `beforeEach`\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"beforeEach(function(){\\n  cy.get(\\\"button[type=submit]\\\").as(\\\"submitBtn\\\")\\n})\\n\\nit(\\\"disables on click\\\", function(){\\n  cy.get(\\\"@submitBtn\\\").should(\\\"be.disabled\\\")\\n})\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n\n# Command Log\n\n## Get an input and assert on the value\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy\\n  .get(\\\"input[name='firstName']\\\")\\n  .should(\\\"have.value\\\", \\\"Homer\\\")\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\nThe commands above will display in the command log as:\n\n<img width=\"524\" alt=\"screen shot 2015-11-27 at 1 24 20 pm\" src=\"https://cloud.githubusercontent.com/assets/1271364/11446808/5d2f2180-950a-11e5-8645-4f0f14321f86.png\">\n\nWhen clicking on the `get` command within the command log, the console outputs the following:\n\n<img width=\"543\" alt=\"screen shot 2015-11-27 at 1 24 45 pm\" src=\"https://cloud.githubusercontent.com/assets/1271364/11446809/61a6f4f4-950a-11e5-9b23-a9efa1fbccfc.png\">\n\n# Related\n\n- [contains](https://on.cypress.io/api/contains)\n- [within](https://on.cypress.io/api/within)\n- [find](https://on.cypress.io/api/find)\n- [root](https://on.cypress.io/api/root)","excerpt":"Get DOM element(s) by selector or alias","slug":"get","type":"basic","title":"get"}

get

Get DOM element(s) by selector or alias

Get one or more DOM elements by selector or [alias](https://on.cypress.io/guides/using-aliases). `cy.get` supports all CSS based selectors. It is analogous to jQuery's `$(...)` in that any selector you pass to jQuery you can also pass to `cy.get`. | | | |--- | --- | | **Returns** | the new DOM element(s) found by the command. | | **Timeout** | `cy.get` will retry for the duration of the [`defaultCommandTimeout`](https://on.cypress.io/guides/configuration#section-timeouts) | *** # [cy.get( *selector* )](#section-selector-usage) Finds one or more DOM elements based on the selector. *** # [cy.get( *alias* )](#section-alias-usage) [block:callout] { "type": "info", "body": "[Read about using aliases first.](https://on.cypress.io/guides/using-aliases)", "title": "New to Cypress?" } [/block] You can pass in the `@` character and the name of an alias as a parameter to find an [aliased](https://on.cypress.io/guides/using-aliases) element. Internally Cypress keeps a cache of all aliased elements. If the element currently exists in the DOM, it is immediately returned. If the element no longer exists, Cypress will re-query the element based on the previous selector path to find it again. *** # Options Pass in an options object to change the default behavior of `cy.get`. **cy.get( *selector*, *options* )** **cy.get( *alias*, *options* )** Option | Default | Notes --- | --- | --- `log` | `true` | whether to display command in command log `timeout` | [`defaultCommandTimeout`](https://on.cypress.io/guides/configuration#section-timeouts) | Total time to retry getting the element *** # Selector Usage ## Find the element with an id of main [block:code] { "codes": [ { "code": "cy.get(\"#main\")\n", "language": "javascript" } ] } [/block] *** ## Find the first `li` descendent within a `ul` [block:code] { "codes": [ { "code": "cy.get(\"ul li:first\")\n", "language": "javascript" } ] } [/block] *** ## Find the element with class dropdown-menu and click it. [block:code] { "codes": [ { "code": "cy\n .get(\".dropdown-menu\").click()\n\n // Break out of the previous command chain and\n // query for #search from the root document.\n .get(\"#search\").type(\"mogwai\")\n", "language": "javascript" } ] } [/block] *** ## Reset the current scope in a [`cy.within`](https://on.cypress.io/api/within) [block:code] { "codes": [ { "code": "// Find form and scope all new queries to within form.\ncy.get(\"form\").within(function(){\n cy\n // Find the input within form and type Pamela\n .get(\"input\").type(\"Pamela\")\n // Find the element textarea within form and type in it\n .get(\"textarea\").type(\"is a developer\")\n})\n", "language": "javascript" } ] } [/block] *** # Alias Usage For a detailed explanation of aliasing, [read more about aliasing here](https://on.cypress.io/guides/using-aliases). ## Retrieve aliased `todos` elements [block:code] { "codes": [ { "code": "cy.get(\"ul#todos\").as(\"todos\")\n\n//...hack hack hack...\n\n//later retrieve the todos\ncy.get(\"@todos\")\n", "language": "javascript" } ] } [/block] *** ## Alias the `submitBtn` in a `beforeEach` [block:code] { "codes": [ { "code": "beforeEach(function(){\n cy.get(\"button[type=submit]\").as(\"submitBtn\")\n})\n\nit(\"disables on click\", function(){\n cy.get(\"@submitBtn\").should(\"be.disabled\")\n})\n", "language": "javascript" } ] } [/block] *** # Command Log ## Get an input and assert on the value [block:code] { "codes": [ { "code": "cy\n .get(\"input[name='firstName']\")\n .should(\"have.value\", \"Homer\")\n", "language": "javascript" } ] } [/block] The commands above will display in the command log as: <img width="524" alt="screen shot 2015-11-27 at 1 24 20 pm" src="https://cloud.githubusercontent.com/assets/1271364/11446808/5d2f2180-950a-11e5-8645-4f0f14321f86.png"> When clicking on the `get` command within the command log, the console outputs the following: <img width="543" alt="screen shot 2015-11-27 at 1 24 45 pm" src="https://cloud.githubusercontent.com/assets/1271364/11446809/61a6f4f4-950a-11e5-9b23-a9efa1fbccfc.png"> # Related - [contains](https://on.cypress.io/api/contains) - [within](https://on.cypress.io/api/within) - [find](https://on.cypress.io/api/find) - [root](https://on.cypress.io/api/root)