{"__v":0,"_id":"569029d4f7eb9a0d00f44667","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:27:48.522Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":24,"body":"Focus on a DOM element. If there is currently a different DOM element currently with focus, Cypress will issue a `blur` event to that element first.\n\n**The following events are fired during focus:** `focusin`, `focus`\n\n| | |\n|--- | --- |\n| **Returns** | the new DOM element(s) found by the command. |\n| **Timeout** | `cy.focus` will retry for the duration of the [`defaultCommandTimeout`](https://on.cypress.io/guides/configuration#section-timeouts) |\n\n***\n\n# [cy.focus()](#section-usage)\n\nFocus on the DOM element found in the previous command.\n\n***\n\n# Options\n\nPass in an options object to change the default behavior of `cy.focus`.\n\n**cy.focus( *options* )**\n\nOption | Default | Notes\n--- | --- | ---\n`log` | `true` | whether to display command in command log\n\n***\n\n# Usage\n\n## Focus on the current subject.\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy.get(\\\"[name='comment']\\\").focus()\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\nFocus, type, and blur the current subject.\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"// returns the <textarea> for further chaining\\ncy.get(\\\"[name='comment']\\\").focus().type(\\\"Nice Product!\\\").blur()\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n# Command Log\n\n## Focus the textarea.\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy.get(\\\"[name='comment']\\\").focus()\\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 32 37 pm\" src=\"https://cloud.githubusercontent.com/assets/1271364/11446856/6c2c36f4-950b-11e5-89c6-9bf14a448b23.png\">\n\nWhen clicking on the `focus` command within the command log, the console outputs the following:\n\n<img width=\"526\" alt=\"screen shot 2015-11-27 at 1 33 00 pm\" src=\"https://cloud.githubusercontent.com/assets/1271364/11446857/703fa6c2-950b-11e5-9686-ce6b558cfd92.png\">\n\n***\n\n# Errors\n\n## cy.focus() can only be called on a valid focusable element.\n\nEnsure the element you are trying to call `cy.focus()` on is a [focusable element](https://www.w3.org/TR/html5/editing.html#focusable). Most commonly, you'll want to ensure that the element is not disabled although there are [other factors](https://www.w3.org/TR/html5/editing.html#focusable).\n\n\n## cy.focus() timed out because your browser did not receive any focus events. This is a known bug in Chrome when it is not the currently focused window.\n\nIf you see this error, you may want to ensure that the main browser window is currently focused. This means not being focused in debugger or any other window when the command is executed.\n\n\n# Related\n\n- [focused](https://on.cypress.io/api/focused)\n- [blur](https://on.cypress.io/api/blur)\n- [click](https://on.cypress.io/api/click)","excerpt":"Focus on a DOM element","slug":"focus","type":"basic","title":"focus"}

focus

Focus on a DOM element

Focus on a DOM element. If there is currently a different DOM element currently with focus, Cypress will issue a `blur` event to that element first. **The following events are fired during focus:** `focusin`, `focus` | | | |--- | --- | | **Returns** | the new DOM element(s) found by the command. | | **Timeout** | `cy.focus` will retry for the duration of the [`defaultCommandTimeout`](https://on.cypress.io/guides/configuration#section-timeouts) | *** # [cy.focus()](#section-usage) Focus on the DOM element found in the previous command. *** # Options Pass in an options object to change the default behavior of `cy.focus`. **cy.focus( *options* )** Option | Default | Notes --- | --- | --- `log` | `true` | whether to display command in command log *** # Usage ## Focus on the current subject. [block:code] { "codes": [ { "code": "cy.get(\"[name='comment']\").focus()\n", "language": "javascript" } ] } [/block] Focus, type, and blur the current subject. [block:code] { "codes": [ { "code": "// returns the <textarea> for further chaining\ncy.get(\"[name='comment']\").focus().type(\"Nice Product!\").blur()\n", "language": "javascript" } ] } [/block] *** # Command Log ## Focus the textarea. [block:code] { "codes": [ { "code": "cy.get(\"[name='comment']\").focus()\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 32 37 pm" src="https://cloud.githubusercontent.com/assets/1271364/11446856/6c2c36f4-950b-11e5-89c6-9bf14a448b23.png"> When clicking on the `focus` command within the command log, the console outputs the following: <img width="526" alt="screen shot 2015-11-27 at 1 33 00 pm" src="https://cloud.githubusercontent.com/assets/1271364/11446857/703fa6c2-950b-11e5-9686-ce6b558cfd92.png"> *** # Errors ## cy.focus() can only be called on a valid focusable element. Ensure the element you are trying to call `cy.focus()` on is a [focusable element](https://www.w3.org/TR/html5/editing.html#focusable). Most commonly, you'll want to ensure that the element is not disabled although there are [other factors](https://www.w3.org/TR/html5/editing.html#focusable). ## cy.focus() timed out because your browser did not receive any focus events. This is a known bug in Chrome when it is not the currently focused window. If you see this error, you may want to ensure that the main browser window is currently focused. This means not being focused in debugger or any other window when the command is executed. # Related - [focused](https://on.cypress.io/api/focused) - [blur](https://on.cypress.io/api/blur) - [click](https://on.cypress.io/api/click)