From 418f0996eba8592d54b62728d0922758ed30e3d5 Mon Sep 17 00:00:00 2001 From: jwoertink Date: Sun, 22 Oct 2023 16:14:14 +0000 Subject: [PATCH] deploy: 2c0c21ce672353096f37a07e8b842e859dcda63d --- AuthenticLuckyFlowHelpers.html | 6 +- AvramLuckyFlowHelpers.html | 4 +- LuckyActionLuckyFlowHelpers.html | 6 +- LuckyFlow.html | 78 +++++++++---------- LuckyFlow/Driver.html | 38 ++++----- LuckyFlow/DriverInstallationError.html | 4 +- LuckyFlow/Element.html | 52 ++++++------- LuckyFlow/ElementNotFoundError.html | 4 +- LuckyFlow/Error.html | 2 +- LuckyFlow/ErrorMessageWhenNotFound.html | 10 +-- LuckyFlow/Expectations.html | 4 +- .../HaveCurrentPathExpectation.html | 10 +-- .../Expectations/HaveElementExpectation.html | 10 +-- .../Expectations/HaveTextExpectation.html | 10 +-- LuckyFlow/FindElement.html | 8 +- LuckyFlow/HabitatSettings.html | 2 +- LuckyFlow/InfiniteRedirectError.html | 2 +- LuckyFlow/InvalidMultiSelectError.html | 4 +- LuckyFlow/InvalidOperationError.html | 2 +- LuckyFlow/NotSupportedByDriverError.html | 2 +- LuckyFlow/NotSupportedByElementError.html | 2 +- LuckyFlow/Registry.html | 18 ++--- LuckyFlow/Selector.html | 6 +- LuckyFlow/Selenium.html | 4 +- LuckyFlow/Selenium/Chrome.html | 2 +- LuckyFlow/Selenium/Chrome/Driver.html | 4 +- LuckyFlow/Selenium/Driver.html | 36 ++++----- LuckyFlow/Selenium/Element.html | 36 ++++----- LuckyFlow/Spec.html | 4 +- LuckyFlow/Webless.html | 2 +- LuckyFlow/Webless/Browser.html | 24 +++--- LuckyFlow/Webless/Driver.html | 44 +++++------ LuckyFlow/Webless/Element.html | 48 ++++++------ LuckyFlow/Webless/Form.html | 6 +- Spec.html | 2 +- Spec/Item.html | 2 +- index.json | 2 +- search-index.js | 2 +- 38 files changed, 251 insertions(+), 251 deletions(-) diff --git a/AuthenticLuckyFlowHelpers.html b/AuthenticLuckyFlowHelpers.html index 89cfc39..36c6113 100644 --- a/AuthenticLuckyFlowHelpers.html +++ b/AuthenticLuckyFlowHelpers.html @@ -333,7 +333,7 @@

- + ext/authentic.cr @@ -403,7 +403,7 @@


- [View source] + [View source]
@@ -419,7 +419,7 @@


- [View source] + [View source]
diff --git a/AvramLuckyFlowHelpers.html b/AvramLuckyFlowHelpers.html index 25c098a..6b1eabf 100644 --- a/AvramLuckyFlowHelpers.html +++ b/AvramLuckyFlowHelpers.html @@ -333,7 +333,7 @@

- + ext/avram.cr @@ -409,7 +409,7 @@


- [View source] + [View source]
diff --git a/LuckyActionLuckyFlowHelpers.html b/LuckyActionLuckyFlowHelpers.html index d212b7f..14c08ba 100644 --- a/LuckyActionLuckyFlowHelpers.html +++ b/LuckyActionLuckyFlowHelpers.html @@ -333,7 +333,7 @@

- + ext/lucky.cr @@ -403,7 +403,7 @@


- [View source] + [View source]
@@ -419,7 +419,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow.html b/LuckyFlow.html index 5d55050..5185a6d 100644 --- a/LuckyFlow.html +++ b/LuckyFlow.html @@ -344,56 +344,56 @@

- + ext/authentic.cr
- + ext/avram.cr
- + ext/lucky.cr
- + lucky_flow.cr:7
- + lucky_flow.cr:13
- + lucky_flow/errors.cr
- + lucky_flow/expectations.cr
- + lucky_flow/version.cr @@ -420,7 +420,7 @@

- VERSION = "0.9.1" + VERSION = "0.9.2"
@@ -750,7 +750,7 @@


- [View source] + [View source]
@@ -766,7 +766,7 @@


- [View source] + [View source]
@@ -782,7 +782,7 @@


- [View source] + [View source]
@@ -798,7 +798,7 @@


- [View source] + [View source]
@@ -814,7 +814,7 @@


- [View source] + [View source]
@@ -830,7 +830,7 @@


- [View source] + [View source]
@@ -846,7 +846,7 @@


- [View source] + [View source]
@@ -862,7 +862,7 @@


- [View source] + [View source]
@@ -890,7 +890,7 @@


- [View source] + [View source]
@@ -914,7 +914,7 @@


- [View source] + [View source]
@@ -930,7 +930,7 @@


- [View source] + [View source]
@@ -946,7 +946,7 @@


- [View source] + [View source]
@@ -962,7 +962,7 @@


- [View source] + [View source]
@@ -978,7 +978,7 @@


- [View source] + [View source]
@@ -994,7 +994,7 @@


- [View source] + [View source]
@@ -1010,7 +1010,7 @@


- [View source] + [View source]
@@ -1026,7 +1026,7 @@


- [View source] + [View source]
@@ -1042,7 +1042,7 @@


- [View source] + [View source]
@@ -1064,7 +1064,7 @@


- [View source] + [View source]
@@ -1080,7 +1080,7 @@


- [View source] + [View source]
@@ -1096,7 +1096,7 @@


- [View source] + [View source]
@@ -1112,7 +1112,7 @@


- [View source] + [View source]
@@ -1128,7 +1128,7 @@


- [View source] + [View source]
@@ -1153,7 +1153,7 @@


- [View source] + [View source]
@@ -1169,7 +1169,7 @@


- [View source] + [View source]
@@ -1185,7 +1185,7 @@


- [View source] + [View source]
@@ -1201,7 +1201,7 @@


- [View source] + [View source]
@@ -1217,7 +1217,7 @@


- [View source] + [View source]
@@ -1233,7 +1233,7 @@


- [View source] + [View source]
@@ -1249,7 +1249,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Driver.html b/LuckyFlow/Driver.html index 7abcb56..3d7b949 100644 --- a/LuckyFlow/Driver.html +++ b/LuckyFlow/Driver.html @@ -325,7 +325,7 @@

- + lucky_flow/driver.cr @@ -507,7 +507,7 @@


- [View source] + [View source]
@@ -523,7 +523,7 @@


- [View source] + [View source]
@@ -539,7 +539,7 @@


- [View source] + [View source]
@@ -555,7 +555,7 @@


- [View source] + [View source]
@@ -571,7 +571,7 @@


- [View source] + [View source]
@@ -587,7 +587,7 @@


- [View source] + [View source]
@@ -603,7 +603,7 @@


- [View source] + [View source]
@@ -619,7 +619,7 @@


- [View source] + [View source]
@@ -635,7 +635,7 @@


- [View source] + [View source]
@@ -651,7 +651,7 @@


- [View source] + [View source]
@@ -667,7 +667,7 @@


- [View source] + [View source]
@@ -683,7 +683,7 @@


- [View source] + [View source]
@@ -699,7 +699,7 @@


- [View source] + [View source]
@@ -715,7 +715,7 @@


- [View source] + [View source]
@@ -731,7 +731,7 @@


- [View source] + [View source]
@@ -747,7 +747,7 @@


- [View source] + [View source]
@@ -763,7 +763,7 @@


- [View source] + [View source]
@@ -791,7 +791,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/DriverInstallationError.html b/LuckyFlow/DriverInstallationError.html index 87b6b76..54af2e5 100644 --- a/LuckyFlow/DriverInstallationError.html +++ b/LuckyFlow/DriverInstallationError.html @@ -309,7 +309,7 @@

- + lucky_flow/errors.cr @@ -410,7 +410,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Element.html b/LuckyFlow/Element.html index e876ca0..6982f60 100644 --- a/LuckyFlow/Element.html +++ b/LuckyFlow/Element.html @@ -325,7 +325,7 @@

- + lucky_flow/element.cr @@ -555,7 +555,7 @@


- [View source] + [View source]
@@ -571,7 +571,7 @@


- [View source] + [View source]
@@ -587,7 +587,7 @@


- [View source] + [View source]
@@ -603,7 +603,7 @@


- [View source] + [View source]
@@ -619,7 +619,7 @@


- [View source] + [View source]
@@ -635,7 +635,7 @@


- [View source] + [View source]
@@ -651,7 +651,7 @@


- [View source] + [View source]
@@ -667,7 +667,7 @@


- [View source] + [View source]
@@ -691,7 +691,7 @@


- [View source] + [View source]
@@ -707,7 +707,7 @@


- [View source] + [View source]
@@ -723,7 +723,7 @@


- [View source] + [View source]
@@ -739,7 +739,7 @@


- [View source] + [View source]
@@ -755,7 +755,7 @@


- [View source] + [View source]
@@ -771,7 +771,7 @@


- [View source] + [View source]
@@ -787,7 +787,7 @@


- [View source] + [View source]
@@ -803,7 +803,7 @@


- [View source] + [View source]
@@ -819,7 +819,7 @@


- [View source] + [View source]
@@ -835,7 +835,7 @@


- [View source] + [View source]
@@ -851,7 +851,7 @@


- [View source] + [View source]
@@ -867,7 +867,7 @@


- [View source] + [View source]
@@ -883,7 +883,7 @@


- [View source] + [View source]
@@ -899,7 +899,7 @@


- [View source] + [View source]
@@ -915,7 +915,7 @@


- [View source] + [View source]
@@ -931,7 +931,7 @@


- [View source] + [View source]
@@ -959,7 +959,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/ElementNotFoundError.html b/LuckyFlow/ElementNotFoundError.html index 8e00cc4..7f7ada6 100644 --- a/LuckyFlow/ElementNotFoundError.html +++ b/LuckyFlow/ElementNotFoundError.html @@ -309,7 +309,7 @@

- + lucky_flow/errors.cr @@ -410,7 +410,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Error.html b/LuckyFlow/Error.html index b5fe8f4..1b3beff 100644 --- a/LuckyFlow/Error.html +++ b/LuckyFlow/Error.html @@ -345,7 +345,7 @@

- + lucky_flow/errors.cr diff --git a/LuckyFlow/ErrorMessageWhenNotFound.html b/LuckyFlow/ErrorMessageWhenNotFound.html index 7ddb0c5..f33b1b8 100644 --- a/LuckyFlow/ErrorMessageWhenNotFound.html +++ b/LuckyFlow/ErrorMessageWhenNotFound.html @@ -309,7 +309,7 @@

- + lucky_flow/error_message_when_not_found.cr @@ -429,7 +429,7 @@


- [View source] + [View source]
@@ -457,7 +457,7 @@


- [View source] + [View source]
@@ -485,7 +485,7 @@


- [View source] + [View source]
@@ -501,7 +501,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Expectations.html b/LuckyFlow/Expectations.html index 1c5998b..79b814d 100644 --- a/LuckyFlow/Expectations.html +++ b/LuckyFlow/Expectations.html @@ -321,14 +321,14 @@

- + lucky_flow/expectations.cr
- + lucky_flow/expectations/have_current_path_expectation.cr diff --git a/LuckyFlow/Expectations/HaveCurrentPathExpectation.html b/LuckyFlow/Expectations/HaveCurrentPathExpectation.html index d4f8b3e..2dc5c5f 100644 --- a/LuckyFlow/Expectations/HaveCurrentPathExpectation.html +++ b/LuckyFlow/Expectations/HaveCurrentPathExpectation.html @@ -309,7 +309,7 @@

- + lucky_flow/expectations/have_current_path_expectation.cr @@ -427,7 +427,7 @@


- [View source] + [View source]
@@ -457,7 +457,7 @@


- [View source] + [View source]
@@ -473,7 +473,7 @@


- [View source] + [View source]
@@ -489,7 +489,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Expectations/HaveElementExpectation.html b/LuckyFlow/Expectations/HaveElementExpectation.html index 0bc088e..67109f0 100644 --- a/LuckyFlow/Expectations/HaveElementExpectation.html +++ b/LuckyFlow/Expectations/HaveElementExpectation.html @@ -309,7 +309,7 @@

- + lucky_flow/expectations/have_element_expectation.cr @@ -427,7 +427,7 @@


- [View source] + [View source]
@@ -457,7 +457,7 @@


- [View source] + [View source]
@@ -473,7 +473,7 @@


- [View source] + [View source]
@@ -489,7 +489,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Expectations/HaveTextExpectation.html b/LuckyFlow/Expectations/HaveTextExpectation.html index 7bf0ac8..52697ea 100644 --- a/LuckyFlow/Expectations/HaveTextExpectation.html +++ b/LuckyFlow/Expectations/HaveTextExpectation.html @@ -309,7 +309,7 @@

- + lucky_flow/expectations/have_text_expectation.cr @@ -427,7 +427,7 @@


- [View source] + [View source]
@@ -457,7 +457,7 @@


- [View source] + [View source]
@@ -473,7 +473,7 @@


- [View source] + [View source]
@@ -489,7 +489,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/FindElement.html b/LuckyFlow/FindElement.html index fcd407f..4e304b7 100644 --- a/LuckyFlow/FindElement.html +++ b/LuckyFlow/FindElement.html @@ -320,7 +320,7 @@

- + lucky_flow/find_element.cr @@ -435,7 +435,7 @@


- [View source] + [View source]
@@ -463,7 +463,7 @@


- [View source] + [View source]
@@ -491,7 +491,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/HabitatSettings.html b/LuckyFlow/HabitatSettings.html index 06ed213..f2affdf 100644 --- a/LuckyFlow/HabitatSettings.html +++ b/LuckyFlow/HabitatSettings.html @@ -309,7 +309,7 @@

- + lucky_flow.cr diff --git a/LuckyFlow/InfiniteRedirectError.html b/LuckyFlow/InfiniteRedirectError.html index e92ffc1..25e5847 100644 --- a/LuckyFlow/InfiniteRedirectError.html +++ b/LuckyFlow/InfiniteRedirectError.html @@ -309,7 +309,7 @@

- + lucky_flow/errors.cr diff --git a/LuckyFlow/InvalidMultiSelectError.html b/LuckyFlow/InvalidMultiSelectError.html index ced89a3..8e17d70 100644 --- a/LuckyFlow/InvalidMultiSelectError.html +++ b/LuckyFlow/InvalidMultiSelectError.html @@ -309,7 +309,7 @@

- + lucky_flow/errors.cr @@ -420,7 +420,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/InvalidOperationError.html b/LuckyFlow/InvalidOperationError.html index ddaa729..d13c1be 100644 --- a/LuckyFlow/InvalidOperationError.html +++ b/LuckyFlow/InvalidOperationError.html @@ -323,7 +323,7 @@

- + lucky_flow/errors.cr diff --git a/LuckyFlow/NotSupportedByDriverError.html b/LuckyFlow/NotSupportedByDriverError.html index 05189a6..0b993ae 100644 --- a/LuckyFlow/NotSupportedByDriverError.html +++ b/LuckyFlow/NotSupportedByDriverError.html @@ -309,7 +309,7 @@

- + lucky_flow/errors.cr diff --git a/LuckyFlow/NotSupportedByElementError.html b/LuckyFlow/NotSupportedByElementError.html index 0a31669..8b5d881 100644 --- a/LuckyFlow/NotSupportedByElementError.html +++ b/LuckyFlow/NotSupportedByElementError.html @@ -309,7 +309,7 @@

- + lucky_flow/errors.cr diff --git a/LuckyFlow/Registry.html b/LuckyFlow/Registry.html index 83aabbd..8a532fb 100644 --- a/LuckyFlow/Registry.html +++ b/LuckyFlow/Registry.html @@ -309,7 +309,7 @@

- + lucky_flow/registry.cr @@ -427,7 +427,7 @@


- [View source] + [View source]
@@ -443,7 +443,7 @@


- [View source] + [View source]
@@ -459,7 +459,7 @@


- [View source] + [View source]
@@ -475,7 +475,7 @@


- [View source] + [View source]
@@ -491,7 +491,7 @@


- [View source] + [View source]
@@ -507,7 +507,7 @@


- [View source] + [View source]
@@ -523,7 +523,7 @@


- [View source] + [View source]
@@ -539,7 +539,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Selector.html b/LuckyFlow/Selector.html index 415a7ca..316c919 100644 --- a/LuckyFlow/Selector.html +++ b/LuckyFlow/Selector.html @@ -323,7 +323,7 @@

- + lucky_flow/selector.cr @@ -421,7 +421,7 @@


- [View source] + [View source]
@@ -451,7 +451,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Selenium.html b/LuckyFlow/Selenium.html index 0594c0b..1139208 100644 --- a/LuckyFlow/Selenium.html +++ b/LuckyFlow/Selenium.html @@ -307,14 +307,14 @@

- + lucky_flow/selenium/chrome/driver.cr
- + lucky_flow/selenium/driver.cr diff --git a/LuckyFlow/Selenium/Chrome.html b/LuckyFlow/Selenium/Chrome.html index ea37d71..b8d47b6 100644 --- a/LuckyFlow/Selenium/Chrome.html +++ b/LuckyFlow/Selenium/Chrome.html @@ -307,7 +307,7 @@

- + lucky_flow/selenium/chrome/driver.cr diff --git a/LuckyFlow/Selenium/Chrome/Driver.html b/LuckyFlow/Selenium/Chrome/Driver.html index b37d3df..60f489a 100644 --- a/LuckyFlow/Selenium/Chrome/Driver.html +++ b/LuckyFlow/Selenium/Chrome/Driver.html @@ -309,7 +309,7 @@

- + lucky_flow/selenium/chrome/driver.cr @@ -588,7 +588,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Selenium/Driver.html b/LuckyFlow/Selenium/Driver.html index 099d15c..3a93ae0 100644 --- a/LuckyFlow/Selenium/Driver.html +++ b/LuckyFlow/Selenium/Driver.html @@ -323,7 +323,7 @@

- + lucky_flow/selenium/driver.cr @@ -587,7 +587,7 @@


- [View source] + [View source]
@@ -603,7 +603,7 @@


- [View source] + [View source]
@@ -619,7 +619,7 @@


- [View source] + [View source]
@@ -635,7 +635,7 @@


- [View source] + [View source]
@@ -651,7 +651,7 @@


- [View source] + [View source]
@@ -667,7 +667,7 @@


- [View source] + [View source]
@@ -683,7 +683,7 @@


- [View source] + [View source]
@@ -699,7 +699,7 @@


- [View source] + [View source]
@@ -715,7 +715,7 @@


- [View source] + [View source]
@@ -731,7 +731,7 @@


- [View source] + [View source]
@@ -747,7 +747,7 @@


- [View source] + [View source]
@@ -763,7 +763,7 @@


- [View source] + [View source]
@@ -779,7 +779,7 @@


- [View source] + [View source]
@@ -795,7 +795,7 @@


- [View source] + [View source]
@@ -811,7 +811,7 @@


- [View source] + [View source]
@@ -827,7 +827,7 @@


- [View source] + [View source]
@@ -843,7 +843,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Selenium/Element.html b/LuckyFlow/Selenium/Element.html index b2dfbff..2ad6cc4 100644 --- a/LuckyFlow/Selenium/Element.html +++ b/LuckyFlow/Selenium/Element.html @@ -309,7 +309,7 @@

- + lucky_flow/selenium/element.cr @@ -598,7 +598,7 @@


- [View source] + [View source]
@@ -628,7 +628,7 @@


- [View source] + [View source]
@@ -644,7 +644,7 @@


- [View source] + [View source]
@@ -660,7 +660,7 @@


- [View source] + [View source]
@@ -676,7 +676,7 @@


- [View source] + [View source]
@@ -692,7 +692,7 @@


- [View source] + [View source]
@@ -716,7 +716,7 @@


- [View source] + [View source]
@@ -732,7 +732,7 @@


- [View source] + [View source]
@@ -748,7 +748,7 @@


- [View source] + [View source]
@@ -764,7 +764,7 @@


- [View source] + [View source]
@@ -780,7 +780,7 @@


- [View source] + [View source]
@@ -796,7 +796,7 @@


- [View source] + [View source]
@@ -812,7 +812,7 @@


- [View source] + [View source]
@@ -828,7 +828,7 @@


- [View source] + [View source]
@@ -844,7 +844,7 @@


- [View source] + [View source]
@@ -860,7 +860,7 @@


- [View source] + [View source]
@@ -876,7 +876,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Spec.html b/LuckyFlow/Spec.html index cc59f10..172548f 100644 --- a/LuckyFlow/Spec.html +++ b/LuckyFlow/Spec.html @@ -307,7 +307,7 @@

- + lucky_flow/spec.cr @@ -374,7 +374,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Webless.html b/LuckyFlow/Webless.html index 6667efb..8d30a7f 100644 --- a/LuckyFlow/Webless.html +++ b/LuckyFlow/Webless.html @@ -307,7 +307,7 @@

- + lucky_flow/webless/browser.cr diff --git a/LuckyFlow/Webless/Browser.html b/LuckyFlow/Webless/Browser.html index ea9538b..ac6a9b4 100644 --- a/LuckyFlow/Webless/Browser.html +++ b/LuckyFlow/Webless/Browser.html @@ -309,7 +309,7 @@

- + lucky_flow/webless/browser.cr @@ -471,7 +471,7 @@


- [View source] + [View source]
@@ -501,7 +501,7 @@


- [View source] + [View source]
@@ -517,7 +517,7 @@


- [View source] + [View source]
@@ -533,7 +533,7 @@


- [View source] + [View source]
@@ -549,7 +549,7 @@


- [View source] + [View source]
@@ -565,7 +565,7 @@


- [View source] + [View source]
@@ -581,7 +581,7 @@


- [View source] + [View source]
@@ -597,7 +597,7 @@


- [View source] + [View source]
@@ -613,7 +613,7 @@


- [View source] + [View source]
@@ -629,7 +629,7 @@


- [View source] + [View source]
@@ -645,7 +645,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Webless/Driver.html b/LuckyFlow/Webless/Driver.html index 56c8ab6..3b1c9b2 100644 --- a/LuckyFlow/Webless/Driver.html +++ b/LuckyFlow/Webless/Driver.html @@ -309,7 +309,7 @@

- + lucky_flow/webless/driver.cr @@ -601,7 +601,7 @@


- [View source] + [View source]
@@ -617,7 +617,7 @@


- [View source] + [View source]
@@ -647,7 +647,7 @@


- [View source] + [View source]
@@ -663,7 +663,7 @@


- [View source] + [View source]
@@ -679,7 +679,7 @@


- [View source] + [View source]
@@ -695,7 +695,7 @@


- [View source] + [View source]
@@ -711,7 +711,7 @@


- [View source] + [View source]
@@ -727,7 +727,7 @@


- [View source] + [View source]
@@ -743,7 +743,7 @@


- [View source] + [View source]
@@ -759,7 +759,7 @@


- [View source] + [View source]
@@ -775,7 +775,7 @@


- [View source] + [View source]
@@ -791,7 +791,7 @@


- [View source] + [View source]
@@ -807,7 +807,7 @@


- [View source] + [View source]
@@ -823,7 +823,7 @@


- [View source] + [View source]
@@ -839,7 +839,7 @@


- [View source] + [View source]
@@ -855,7 +855,7 @@


- [View source] + [View source]
@@ -871,7 +871,7 @@


- [View source] + [View source]
@@ -887,7 +887,7 @@


- [View source] + [View source]
@@ -903,7 +903,7 @@


- [View source] + [View source]
@@ -919,7 +919,7 @@


- [View source] + [View source]
@@ -935,7 +935,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Webless/Element.html b/LuckyFlow/Webless/Element.html index 808e455..9008450 100644 --- a/LuckyFlow/Webless/Element.html +++ b/LuckyFlow/Webless/Element.html @@ -309,7 +309,7 @@

- + lucky_flow/webless/element.cr @@ -649,7 +649,7 @@


- [View source] + [View source]
@@ -692,7 +692,7 @@


- [View source] + [View source]
@@ -708,7 +708,7 @@


- [View source] + [View source]
@@ -724,7 +724,7 @@


- [View source] + [View source]
@@ -740,7 +740,7 @@


- [View source] + [View source]
@@ -756,7 +756,7 @@


- [View source] + [View source]
@@ -772,7 +772,7 @@


- [View source] + [View source]
@@ -788,7 +788,7 @@


- [View source] + [View source]
@@ -804,7 +804,7 @@


- [View source] + [View source]
@@ -832,7 +832,7 @@


- [View source] + [View source]
@@ -848,7 +848,7 @@


- [View source] + [View source]
@@ -864,7 +864,7 @@


- [View source] + [View source]
@@ -880,7 +880,7 @@


- [View source] + [View source]
@@ -896,7 +896,7 @@


- [View source] + [View source]
@@ -912,7 +912,7 @@


- [View source] + [View source]
@@ -928,7 +928,7 @@


- [View source] + [View source]
@@ -944,7 +944,7 @@


- [View source] + [View source]
@@ -960,7 +960,7 @@


- [View source] + [View source]
@@ -976,7 +976,7 @@


- [View source] + [View source]
@@ -992,7 +992,7 @@


- [View source] + [View source]
@@ -1008,7 +1008,7 @@


- [View source] + [View source]
@@ -1024,7 +1024,7 @@


- [View source] + [View source]
@@ -1040,7 +1040,7 @@


- [View source] + [View source]
diff --git a/LuckyFlow/Webless/Form.html b/LuckyFlow/Webless/Form.html index ec0fa4f..dfa4451 100644 --- a/LuckyFlow/Webless/Form.html +++ b/LuckyFlow/Webless/Form.html @@ -309,7 +309,7 @@

- + lucky_flow/webless/form.cr @@ -431,7 +431,7 @@


- [View source] + [View source]
@@ -461,7 +461,7 @@


- [View source] + [View source]
diff --git a/Spec.html b/Spec.html index 3326d1d..610b05a 100644 --- a/Spec.html +++ b/Spec.html @@ -307,7 +307,7 @@

- + ext/spec/item.cr diff --git a/Spec/Item.html b/Spec/Item.html index 63d9146..6f5e24b 100644 --- a/Spec/Item.html +++ b/Spec/Item.html @@ -307,7 +307,7 @@

- + ext/spec/item.cr diff --git a/index.json b/index.json index 3d9604c..8ab7340 100644 --- a/index.json +++ b/index.json @@ -1 +1 @@ -{"repository_name":"lucky_flow","body":"# LuckyFlow\n\n[![API Documentation Website](https://img.shields.io/website?down_color=red&down_message=Offline&label=API%20Documentation&up_message=Online&url=https%3A%2F%2Fluckyframework.github.io%2Flucky_flow%2F)](https://luckyframework.github.io/lucky_flow)\n\nLuckyFlow is a library for testing user flows in the browser. It is similar to\nRuby's Capybara.\n\n![LuckyFlow example](https://user-images.githubusercontent.com/22394/40257158-1a2f30b8-5abb-11e8-90c2-94463638e65d.png)\n\n## Installation in [Lucky](https://luckyframework.org) projects\n\nLuckyFlow is already installed and configured. Check out the guides\nto see how to use it: https://luckyframework.org/guides/browser-tests/\n\n## Installation in other Crystal projects\n\nAdd this to your application's `shard.yml`:\n\n```yaml\ndevelopment_dependencies:\n lucky_flow:\n github: luckyframework/lucky_flow\n```\n\nConfigure LuckyFlow in `spec/spec_helper.cr`:\n\n```crystal\nrequire \"lucky_flow\"\n\nLuckyFlow.configure do |settings|\n # This is required\n settings.base_uri = \"http://localhost:\"\n\n # Optional settings. Defaults are shown here\n settings.retry_delay = 10.milliseconds\n settings.stop_retrying_after = 1.second\n settings.screenshot_directory = \"./tmp/screenshots\"\n settings.browser_binary = \"/Applications/Brave Browser.app/Contents/MacOS/Brave Browser\"\nend\n\n# Put this at the bottom of the file.\n# If a required setting is missing, this will catch it.\nHabitat.raise_if_missing_settings!\n```\n\nThen view the guides: https://luckyframework.org/guides/browser-tests/\n\nYou should be ready to go!\n\nFor use with some of the Lucky shards (including Lucky itself), you'll need\nto require a few extensions:\n\n```crystal\n# This extension adds an override to `visit` allowing you\n# to pass in a Lucky::Action.class or Lucky::RouteHelper\nrequire \"lucky_flow/ext/lucky\"\n\n# This extension adds a `fill_form` method that you can pass\n# an Operation or SaveOperation to which will populate form\n# fields for you\nrequire \"lucky_flow/ext/avram\"\n\n# Similar to the Lucky extension, this gives an additional override\n# to `visit` that allows you to visit a page as a specific User\nrequire \"lucky_flow/ext/authentic\"\n```\n\n## Usage\n\n> Note that you can only pass string paths to `visit` since only Lucky has\n> route helpers described in the guide below. Example: `visit \"/my-path\"`\n\nView guide at: https://luckyframework.org/guides/browser-tests/\n\n## Contributing\n\n1. Fork it ( https://github.com/luckyframework/lucky_flow/fork )\n1. Create your feature branch (git checkout -b my-new-feature)\n1. Install docker and docker-compose: https://docs.docker.com/compose/install/\n1. Run `script/setup`\n1. Make your changes\n1. Run `script/test` to run the specs, build shards, and check formatting\n1. Commit your changes (git commit -am 'Add some feature')\n1. Push to the branch (git push origin my-new-feature)\n1. Create a new Pull Request\n\n## Contributors\n\n- [paulcsmith](https://github.com/paulcsmith) Paul Smith - creator, maintainer\n","program":{"html_id":"lucky_flow/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"locations":[],"repository_name":"lucky_flow","program":true,"enum":false,"alias":false,"const":false,"types":[{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","path":"AuthenticLuckyFlowHelpers.html","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/authentic.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Authentic](https://github.com/luckyframework/authentic)\nrequired, you can require this file for some additional helpers","summary":"

If you have Authentic required, you can require this file for some additional helpers

","instance_methods":[{"html_id":"visit(action:Lucky::Action.class,asuser:User)-instance-method","name":"visit","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"},{"name":"user","external_name":"as","restriction":"User"}],"args_string":"(action : Lucky::Action.class, as user : User)","args_html":"(action : Lucky::Action.class, as user : User)","location":{"filename":"src/ext/authentic.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L4"},"def":{"name":"visit","args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"},{"name":"user","external_name":"as","restriction":"User"}],"visibility":"Public","body":"visit(action.route, as: user)"}},{"html_id":"visit(route_helper:Lucky::RouteHelper,asuser:User)-instance-method","name":"visit","abstract":false,"args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"},{"name":"user","external_name":"as","restriction":"User"}],"args_string":"(route_helper : Lucky::RouteHelper, as user : User)","args_html":"(route_helper : Lucky::RouteHelper, as user : User)","location":{"filename":"src/ext/authentic.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L8"},"def":{"name":"visit","args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"},{"name":"user","external_name":"as","restriction":"User"}],"visibility":"Public","body":"url = route_helper.url\nuri = URI.parse(url)\nif uri.query\n url = url + \"&backdoor_user_id=#{user.id}\"\nelse\n if uri.query.nil?\n url = url + \"?backdoor_user_id=#{user.id}\"\n end\nend\ndriver.visit(url)\n"}}]},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","path":"AvramLuckyFlowHelpers.html","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/avram.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/avram.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Avram](https://github.com/luckyframework/avram)\nrequired, you can require this file for some additional helpers","summary":"

If you have Avram required, you can require this file for some additional helpers

","instance_methods":[{"html_id":"fill_form(form:Avram::SaveOperation.class|Avram::Operation.class,**fields_and_values)-instance-method","name":"fill_form","doc":"Fill a form created by Lucky that uses an Avram::SaveOperation\n\nNote that Lucky and Avram are required to use this method\n\n```\nfill_form QuestionForm,\n title: \"Hello there!\",\n body: \"Just wondering what day it is\"\n```","summary":"

Fill a form created by Lucky that uses an Avram::SaveOperation

","abstract":false,"args":[{"name":"form","external_name":"form","restriction":"Avram::SaveOperation.class | Avram::Operation.class"}],"args_string":"(form : Avram::SaveOperation.class | Avram::Operation.class, **fields_and_values)","args_html":"(form : Avram::SaveOperation.class | Avram::Operation.class, **fields_and_values)","location":{"filename":"src/ext/avram.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/avram.cr#L13"},"def":{"name":"fill_form","args":[{"name":"form","external_name":"form","restriction":"Avram::SaveOperation.class | Avram::Operation.class"}],"double_splat":{"name":"fields_and_values","external_name":"fields_and_values","restriction":""},"visibility":"Public","body":"fields_and_values.each do |name, value|\n element = field(\"#{form.param_key}:#{name}\")\n if element.tag_name == \"select\"\n self.select(element, value.to_s)\n else\n self.fill(element, with: value)\n end\nend"}}]},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","path":"LuckyActionLuckyFlowHelpers.html","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/lucky.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Lucky](https://github.com/luckyframework/lucky)\nrequired, you can require this file for some additional helpers","summary":"

If you have Lucky required, you can require this file for some additional helpers

","instance_methods":[{"html_id":"visit(action:Lucky::Action.class)-instance-method","name":"visit","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"}],"args_string":"(action : Lucky::Action.class)","args_html":"(action : Lucky::Action.class)","location":{"filename":"src/ext/lucky.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L4"},"def":{"name":"visit","args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"}],"visibility":"Public","body":"visit(action.route)"}},{"html_id":"visit(route_helper:Lucky::RouteHelper)-instance-method","name":"visit","abstract":false,"args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"}],"args_string":"(route_helper : Lucky::RouteHelper)","args_html":"(route_helper : Lucky::RouteHelper)","location":{"filename":"src/ext/lucky.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L8"},"def":{"name":"visit","args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"}],"visibility":"Public","body":"url = route_helper.url\ndriver.visit(url)\n"}}]},{"html_id":"lucky_flow/LuckyFlow","path":"LuckyFlow.html","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ext/authentic.cr","line_number":23,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L23"},{"filename":"src/ext/avram.cr","line_number":31,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/avram.cr#L31"},{"filename":"src/ext/lucky.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L17"},{"filename":"src/lucky_flow.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L7"},{"filename":"src/lucky_flow.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L13"},{"filename":"src/lucky_flow/errors.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L1"},{"filename":"src/lucky_flow/expectations.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations.cr#L3"},{"filename":"src/lucky_flow/version.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/version.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"HABITAT_SETTINGS","name":"HABITAT_SETTINGS","value":"[{decl: screenshot_directory : String = \"./tmp/screenshots\", example: nil, validation: nil}, {decl: base_uri : String, example: nil, validation: nil}, {decl: retry_delay : Time::Span = 10.milliseconds, example: nil, validation: nil}, {decl: stop_retrying_after : Time::Span = 1.second, example: nil, validation: nil}, {decl: driver_path : String | ::Nil, example: nil, validation: nil}] of Nil"},{"id":"VERSION","name":"VERSION","value":"\"0.9.1\""}],"included_modules":[{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"}],"doc":"```\nrequire \"lucky_flow/ext/lucky\"\n```","summary":"

require "lucky_flow/ext/lucky"

","class_methods":[{"html_id":"configure(&)-class-method","name":"configure","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L16"},"def":{"name":"configure","yields":1,"block_arity":1,"visibility":"Public","body":"yield settings"}},{"html_id":"default_driver=(value:String)-class-method","name":"default_driver=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L24"},"def":{"name":"default_driver=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"LuckyFlow::Registry.default_driver = value"}},{"html_id":"driver(name:String):LuckyFlow::Driver-class-method","name":"driver","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : LuckyFlow::Driver","args_html":"(name : String) : LuckyFlow::Driver","location":{"filename":"src/lucky_flow.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L32"},"def":{"name":"driver","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"LuckyFlow::Driver","visibility":"Public","body":"LuckyFlow::Registry.current_driver = LuckyFlow::Registry.get_driver(name)"}},{"html_id":"driver:LuckyFlow::Driver-class-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":28,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L28"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"__temp_49 = LuckyFlow::Registry\n__temp_49.current_driver || (__temp_49.current_driver = LuckyFlow::Registry.get_driver)\n"}},{"html_id":"reset:Nil-class-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":44,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L44"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"LuckyFlow::Registry.current_driver.try(&.reset)"}},{"html_id":"settings-class-method","name":"settings","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L16"},"def":{"name":"settings","visibility":"Public","body":"HabitatSettings"}},{"html_id":"shutdown:Nil-class-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":36,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L36"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"LuckyFlow::Registry.shutdown_all"}},{"html_id":"use_default_driver-class-method","name":"use_default_driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L40"},"def":{"name":"use_default_driver","visibility":"Public","body":"LuckyFlow::Registry.current_driver = nil"}}],"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":162,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L162"},"def":{"name":"accept_alert","visibility":"Public","body":"driver.accept_alert"}},{"html_id":"append(name_attr:String,withvalue:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfill(\"comment:body\", with: \"Lucky is:\")\n\nappend(\"comment:body\", \" So much fun!\")\n```","summary":"

Add text to the end of a field

","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":"String"}],"args_string":"(name_attr : String, with value : String)","args_html":"(name_attr : String, with value : String)","location":{"filename":"src/lucky_flow.cr","line_number":112,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L112"},"def":{"name":"append","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":"String"}],"visibility":"Public","body":"(field(name_attr)).append(value)"}},{"html_id":"click(css_selector:String)-instance-method","name":"click","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"args_string":"(css_selector : String)","args_html":"(css_selector : String)","location":{"filename":"src/lucky_flow.cr","line_number":88,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L88"},"def":{"name":"click","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"visibility":"Public","body":"(el(css_selector)).click"}},{"html_id":"current_path-instance-method","name":"current_path","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":157,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L157"},"def":{"name":"current_path","visibility":"Public","body":"url = driver.current_url\n(URI.parse(url)).path\n"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":166,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L166"},"def":{"name":"dismiss_alert","visibility":"Public","body":"driver.dismiss_alert"}},{"html_id":"driver:LuckyFlow::Driver-instance-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":175,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L175"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"self.class.driver"}},{"html_id":"el(css_selector:String,text:String):LuckyFlow::Element-instance-method","name":"el","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(css_selector : String, text : String) : LuckyFlow::Element","args_html":"(css_selector : String, text : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":141,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L141"},"def":{"name":"el","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"LuckyFlow::FindElement.run(driver, css_selector, text)"}},{"html_id":"el(css_selector:String):LuckyFlow::Element-instance-method","name":"el","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"args_string":"(css_selector : String) : LuckyFlow::Element","args_html":"(css_selector : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":145,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L145"},"def":{"name":"el","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"LuckyFlow::FindElement.run(driver, css_selector)"}},{"html_id":"expand_page_to_fullsize-instance-method","name":"expand_page_to_fullsize","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L70"},"def":{"name":"expand_page_to_fullsize","visibility":"Public","body":"driver.maximize_window"}},{"html_id":"field(name_attr:String):LuckyFlow::Element-instance-method","name":"field","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"}],"args_string":"(name_attr : String) : LuckyFlow::Element","args_html":"(name_attr : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":149,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L149"},"def":{"name":"field","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"el(\"[name='#{name_attr}']\")"}},{"html_id":"fill(name_attr:String,withvalue)-instance-method","name":"fill","doc":"Set the text of a form field, clearing any existing text\n\n```\nfill(\"comment:body\", with: \"Lucky is great!\")\n```","summary":"

Set the text of a form field, clearing any existing text

","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":""}],"args_string":"(name_attr : String, with value)","args_html":"(name_attr : String, with value)","location":{"filename":"src/lucky_flow.cr","line_number":97,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L97"},"def":{"name":"fill","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":""}],"visibility":"Public","body":"fill(field(name_attr), with: value)"}},{"html_id":"fill(element:Element,withvalue)-instance-method","name":"fill","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"with","restriction":""}],"args_string":"(element : Element, with value)","args_html":"(element : Element, with value)","location":{"filename":"src/lucky_flow.cr","line_number":101,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L101"},"def":{"name":"fill","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"with","restriction":""}],"visibility":"Public","body":"element.fill(value)"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":153,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L153"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"driver.html"}},{"html_id":"open_screenshot(process=Process,time=Time.utc,fullsize=false):Void-instance-method","name":"open_screenshot","abstract":false,"args":[{"name":"process","default_value":"Process","external_name":"process","restriction":""},{"name":"time","default_value":"Time.utc","external_name":"time","restriction":""},{"name":"fullsize","default_value":"false","external_name":"fullsize","restriction":""}],"args_string":"(process = Process, time = Time.utc, fullsize = false) : Void","args_html":"(process = Process, time = Time.utc, fullsize = false) : Void","location":{"filename":"src/lucky_flow.cr","line_number":52,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L52"},"def":{"name":"open_screenshot","args":[{"name":"process","default_value":"Process","external_name":"process","restriction":""},{"name":"time","default_value":"Time.utc","external_name":"time","restriction":""},{"name":"fullsize","default_value":"false","external_name":"fullsize","restriction":""}],"return_type":"Void","visibility":"Public","body":"filename = generate_screenshot_filename(time)\ntake_screenshot(filename, fullsize)\nprocess.new(command: \"#{open_command(process)} #{filename}\", shell: true)\n"}},{"html_id":"pause-instance-method","name":"pause","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":170,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L170"},"def":{"name":"pause","visibility":"Public","body":"puts(\"\\nPausing to debug... (press enter to continue)\")\nSTDIN.gets\n"}},{"html_id":"select(name_attr:String,value:Array(String)|String)-instance-method","name":"select","doc":"Select an option from a select element\n\n```\nselect(\"post:category\", value: \"rant\")\n```\n\nIf given an Array(String), the select is assumed to have the 'multiple' attribute\nand will raise a `LuckyFlow::InvalidMultiSelectError` if it doesn't.\n\n```\nselect(\"post:tags\", value: [\"rant\", \"technology\"])\n```\n","summary":"

Select an option from a select element

","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"value","restriction":"Array(String) | String"}],"args_string":"(name_attr : String, value : Array(String) | String)","args_html":"(name_attr : String, value : Array(String) | String)","location":{"filename":"src/lucky_flow.cr","line_number":129,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L129"},"def":{"name":"select","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"value","restriction":"Array(String) | String"}],"visibility":"Public","body":"self.select(field(name_attr), value: value)"}},{"html_id":"select(element:Element,value:String)-instance-method","name":"select","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(element : Element, value : String)","args_html":"(element : Element, value : String)","location":{"filename":"src/lucky_flow.cr","line_number":133,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L133"},"def":{"name":"select","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"element.select_option(value)"}},{"html_id":"select(element:Element,value:Array(String))-instance-method","name":"select","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"Array(String)"}],"args_string":"(element : Element, value : Array(String))","args_html":"(element : Element, value : Array(String))","location":{"filename":"src/lucky_flow.cr","line_number":137,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L137"},"def":{"name":"select","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"Array(String)"}],"visibility":"Public","body":"element.select_options(value)"}},{"html_id":"settings-instance-method","name":"settings","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L16"},"def":{"name":"settings","visibility":"Public","body":"HabitatSettings"}},{"html_id":"take_screenshot(filename:String=generate_screenshot_filename,fullsize:Bool=true)-instance-method","name":"take_screenshot","abstract":false,"args":[{"name":"filename","default_value":"generate_screenshot_filename","external_name":"filename","restriction":"String"},{"name":"fullsize","default_value":"true","external_name":"fullsize","restriction":"Bool"}],"args_string":"(filename : String = generate_screenshot_filename, fullsize : Bool = true)","args_html":"(filename : String = generate_screenshot_filename, fullsize : Bool = true)","location":{"filename":"src/lucky_flow.cr","line_number":58,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L58"},"def":{"name":"take_screenshot","args":[{"name":"filename","default_value":"generate_screenshot_filename","external_name":"filename","restriction":"String"},{"name":"fullsize","default_value":"true","external_name":"fullsize","restriction":"Bool"}],"visibility":"Public","body":"if fullsize\n with_fullsized_page do\n driver.screenshot(filename)\n end\nelse\n driver.screenshot(filename)\nend"}},{"html_id":"visit(path:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow.cr","line_number":48,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L48"},"def":{"name":"visit","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"driver.visit(\"#{settings.base_uri}#{path}\")"}},{"html_id":"with_fullsized_page(&)-instance-method","name":"with_fullsized_page","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":74,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L74"},"def":{"name":"with_fullsized_page","yields":0,"block_arity":0,"visibility":"Public","body":"begin\n original_size = driver.window_size\n expand_page_to_fullsize\n yield\nensure\n if original_size\n driver.resize_window(**original_size)\n end\nend"}}],"types":[{"html_id":"lucky_flow/LuckyFlow/Driver","path":"LuckyFlow/Driver.html","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver","abstract":true,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},{"html_id":"lucky_flow/LuckyFlow/Webless/Driver","kind":"class","full_name":"LuckyFlow::Webless::Driver","name":"Driver"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L10"},"def":{"name":"accept_alert","visibility":"Public","body":""}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":true,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L16"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L15"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":""}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L11"},"def":{"name":"dismiss_alert","visibility":"Public","body":""}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":true,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L13"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":""}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":true,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L14"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":""}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":true,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/driver.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L17"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":true,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L12"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":""}},{"html_id":"html:String-instance-method","name":"html","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L18"},"def":{"name":"html","return_type":"String","visibility":"Public","body":""}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L8"},"def":{"name":"maximize_window","visibility":"Public","body":""}},{"html_id":"reset-instance-method","name":"reset","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L3"},"def":{"name":"reset","visibility":"Public","body":""}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":true,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/driver.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L9"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":""}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":true,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L5"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"shutdown-instance-method","name":"shutdown","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L4"},"def":{"name":"shutdown","visibility":"Public","body":""}},{"html_id":"stop-instance-method","name":"stop","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L2"},"def":{"name":"stop","visibility":"Public","body":""}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":true,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L6"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L7"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":""}}],"macros":[{"html_id":"unsupported-macro","name":"unsupported","abstract":false,"location":{"filename":"src/lucky_flow/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L20"},"def":{"name":"unsupported","visibility":"Public","body":" method_name = \n\\{\n{ @def.name.stringify }}\n raise NotSupportedByDriverError.new(\"#{self.class}##{method_name}\")\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/DriverInstallationError","path":"LuckyFlow/DriverInstallationError.html","kind":"class","full_name":"LuckyFlow::DriverInstallationError","name":"DriverInstallationError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L26"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new(error:Exception)-class-method","name":"new","abstract":false,"args":[{"name":"error","external_name":"error","restriction":"Exception"}],"args_string":"(error : Exception)","args_html":"(error : Exception)","location":{"filename":"src/lucky_flow/errors.cr","line_number":27,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L27"},"def":{"name":"new","args":[{"name":"error","external_name":"error","restriction":"Exception"}],"visibility":"Public","body":"_ = allocate\n_.initialize(error)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Element","path":"LuckyFlow/Element.html","kind":"class","full_name":"LuckyFlow::Element","name":"Element","abstract":true,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Element","kind":"class","full_name":"LuckyFlow::Selenium::Element","name":"Element"},{"html_id":"lucky_flow/LuckyFlow/Webless/Element","kind":"class","full_name":"LuckyFlow::Webless::Element","name":"Element"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"instance_methods":[{"html_id":"append(value:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfield = el(\"input[name='comment']\")\nfield.fill(\"Lucky is:\")\n\nfield.append(\" So much fun!\")\n```","summary":"

Add text to the end of a field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":62,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L62"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"send_keys(value)"}},{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":true,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L11"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"attribute(name:Symbol):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : String | Nil","args_html":"(name : Symbol) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":30,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L30"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"String | ::Nil","visibility":"Public","body":"attribute(name.to_s)"}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L10"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"clear-instance-method","name":"clear","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L14"},"def":{"name":"clear","visibility":"Public","body":""}},{"html_id":"click-instance-method","name":"click","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L6"},"def":{"name":"click","visibility":"Public","body":""}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L8"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"driver:LuckyFlow::Driver-instance-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L2"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"@driver"}},{"html_id":"fill(value:String)-instance-method","name":"fill","doc":"Set the text of a form field\n\n```\nfield = el(\"input[name='comment']\")\n\nfield.fill(\"Lucky is great!\")\n```","summary":"

Set the text of a form field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L45"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"clear\nsend_keys(value)\n"}},{"html_id":"fill(value:Time)-instance-method","name":"fill","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"}],"args_string":"(value : Time)","args_html":"(value : Time)","location":{"filename":"src/lucky_flow/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L50"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"Time"}],"visibility":"Public","body":"fill(value.to_s(\"%Y-%m-%d\"))"}},{"html_id":"hover-instance-method","name":"hover","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L70"},"def":{"name":"hover","visibility":"Public","body":"driver.hover(self)"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L17"},"def":{"name":"midpoint","return_type":"::NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":""}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":true,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L12"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"property(name:Symbol):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : String | Nil","args_html":"(name : Symbol) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":34,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L34"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"String | ::Nil","visibility":"Public","body":"property(name.to_s)"}},{"html_id":"raw_selector:String-instance-method","name":"raw_selector","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L3"},"def":{"name":"raw_selector","return_type":"String","visibility":"Public","body":"@raw_selector"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":true,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L15"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":true,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/element.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L16"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":""}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L9"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"selector:String-instance-method","name":"selector","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":66,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L66"},"def":{"name":"selector","return_type":"String","visibility":"Public","body":"(Selector.new(raw_selector)).parse"}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":true,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/element.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L7"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":""}},{"html_id":"send_keys(key:String)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L26"},"def":{"name":"send_keys","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"send_keys([key])"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L13"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":""}},{"html_id":"text:String-instance-method","name":"text","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L5"},"def":{"name":"text","return_type":"String","visibility":"Public","body":""}},{"html_id":"value-instance-method","name":"value","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":22,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L22"},"def":{"name":"value","visibility":"Public","body":"property(\"value\")"}}],"macros":[{"html_id":"unsupported-macro","name":"unsupported","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":74,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L74"},"def":{"name":"unsupported","visibility":"Public","body":" method_name = \n\\{\n{ @def.name.stringify }}\n raise NotSupportedByElementError.new(\"#{self.class}##{method_name}\")\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/ElementNotFoundError","path":"LuckyFlow/ElementNotFoundError.html","kind":"class","full_name":"LuckyFlow::ElementNotFoundError","name":"ElementNotFoundError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L14"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector:String,inner_text:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"}],"args_string":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil)","args_html":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil)","location":{"filename":"src/lucky_flow/errors.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L15"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Error","path":"LuckyFlow/Error.html","kind":"class","full_name":"LuckyFlow::Error","name":"Error","abstract":false,"superclass":{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L5"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/DriverInstallationError","kind":"class","full_name":"LuckyFlow::DriverInstallationError","name":"DriverInstallationError"},{"html_id":"lucky_flow/LuckyFlow/ElementNotFoundError","kind":"class","full_name":"LuckyFlow::ElementNotFoundError","name":"ElementNotFoundError"},{"html_id":"lucky_flow/LuckyFlow/InfiniteRedirectError","kind":"class","full_name":"LuckyFlow::InfiniteRedirectError","name":"InfiniteRedirectError"},{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByDriverError","kind":"class","full_name":"LuckyFlow::NotSupportedByDriverError","name":"NotSupportedByDriverError"},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByElementError","kind":"class","full_name":"LuckyFlow::NotSupportedByElementError","name":"NotSupportedByElementError"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"= LuckyFlow Errors\n\nGeneric LuckyFlow exception class.","summary":"

= LuckyFlow Errors

"},{"html_id":"lucky_flow/LuckyFlow/ErrorMessageWhenNotFound","path":"LuckyFlow/ErrorMessageWhenNotFound.html","kind":"class","full_name":"LuckyFlow::ErrorMessageWhenNotFound","name":"ErrorMessageWhenNotFound","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"build(*args,**named_args)-class-method","name":"build","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **named_args)","args_html":"(*args, **named_args)","location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L6"},"def":{"name":"build","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"named_args","external_name":"named_args","restriction":""},"splat_index":0,"visibility":"Public","body":"(new(*args, **named_args)).build"}}],"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector:String,inner_text:String|Nil,negate:Bool=false)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"},{"name":"negate","default_value":"false","external_name":"negate","restriction":"Bool"}],"args_string":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil, negate : Bool = false)","args_html":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil, negate : Bool = false)","location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L10"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"},{"name":"negate","default_value":"false","external_name":"negate","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text, negate)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"build-instance-method","name":"build","abstract":false,"location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L18"},"def":{"name":"build","visibility":"Public","body":"String.build do |message|\n message << \"Expected \"\n if negate\n message << \"not \"\n end\n message << \"to find element on page, but it was \"\n if negate\n else\n message << \"not \"\n end\n message << \"found.\"\n message << \"\\n\\n â–¸ looking for: #{selector}\"\n if !inner_text.empty?\n message << \"\\n â–¸ with text: #{inner_text}\"\n end\n if (similar_flow_id && inner_text.empty?) && (!negate)\n message << \"\\n\\n\"\n message << \" Did you mean...\"\n message << \"\\n\\n â–¸ \"\n message << \"'@#{similar_flow_id}'\\n\"\n end\nend"}},{"html_id":"inner_text-instance-method","name":"inner_text","abstract":false,"location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L40"},"def":{"name":"inner_text","visibility":"Public","body":"(@inner_text || \"\")"}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations","path":"LuckyFlow/Expectations.html","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations","abstract":false,"locations":[{"filename":"src/lucky_flow/expectations.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations.cr#L4"},{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveCurrentPathExpectation","path":"LuckyFlow/Expectations/HaveCurrentPathExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveCurrentPathExpectation","name":"HaveCurrentPathExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(expected_path:String)-class-method","name":"new","abstract":false,"args":[{"name":"expected_path","external_name":"expected_path","restriction":"String"}],"args_string":"(expected_path : String)","args_html":"(expected_path : String)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L2"},"def":{"name":"new","args":[{"name":"expected_path","external_name":"expected_path","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expected_path)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(flow)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":""}],"args_string":"(flow)","args_html":"(flow)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L9"},"def":{"name":"failure_message","args":[{"name":"flow","external_name":"flow","restriction":""}],"visibility":"Public","body":"\"Expected current path to be: #{@expected_path}\\n actual: #{flow.current_path}\""}},{"html_id":"match(flow:LuckyFlow):Bool-instance-method","name":"match","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow) : Bool","args_html":"(flow : LuckyFlow) : Bool","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L5"},"def":{"name":"match","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"return_type":"Bool","visibility":"Public","body":"flow.current_path == @expected_path"}},{"html_id":"negative_failure_message(_flow)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"_flow","external_name":"_flow","restriction":""}],"args_string":"(_flow)","args_html":"(_flow)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L16"},"def":{"name":"negative_failure_message","args":[{"name":"_flow","external_name":"_flow","restriction":""}],"visibility":"Public","body":"\"Expected current path not to be: #{@expected_path}\""}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveElementExpectation","path":"LuckyFlow/Expectations/HaveElementExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveElementExpectation","name":"HaveElementExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(css_selector:String,text:String|Nil,visible:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String | ::Nil"},{"name":"visible","external_name":"visible","restriction":"Bool"}],"args_string":"(css_selector : String, text : String | Nil, visible : Bool)","args_html":"(css_selector : String, text : String | Nil, visible : Bool)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L4"},"def":{"name":"new","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String | ::Nil"},{"name":"visible","external_name":"visible","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(css_selector, text, visible)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(flow:LuckyFlow)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow)","args_html":"(flow : LuckyFlow)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L24"},"def":{"name":"failure_message","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"visibility":"Public","body":"LuckyFlow::ErrorMessageWhenNotFound.build(flow.driver, @css_selector, @text)"}},{"html_id":"match(flow:LuckyFlow):Bool-instance-method","name":"match","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow) : Bool","args_html":"(flow : LuckyFlow) : Bool","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L8"},"def":{"name":"match","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"return_type":"Bool","visibility":"Public","body":"begin\n element = if text = @text\n flow.el(@css_selector, text)\n else\n flow.el(@css_selector)\n end\n if @visible\n element.displayed?\n else\n true\n end\nrescue LuckyFlow::ElementNotFoundError\n false\nend"}},{"html_id":"negative_failure_message(flow:LuckyFlow)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow)","args_html":"(flow : LuckyFlow)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L32"},"def":{"name":"negative_failure_message","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"visibility":"Public","body":"LuckyFlow::ErrorMessageWhenNotFound.build(flow.driver, @css_selector, @text, negate: true)"}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveTextExpectation","path":"LuckyFlow/Expectations/HaveTextExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveTextExpectation","name":"HaveTextExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(expected_value:String)-class-method","name":"new","abstract":false,"args":[{"name":"expected_value","external_name":"expected_value","restriction":"String"}],"args_string":"(expected_value : String)","args_html":"(expected_value : String)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L2"},"def":{"name":"new","args":[{"name":"expected_value","external_name":"expected_value","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expected_value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(element:LuckyFlow::Element)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L9"},"def":{"name":"failure_message","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"\"Expected element to have text: #{@expected_value}\\n actual: #{element.text}\""}},{"html_id":"match(element:LuckyFlow::Element)-instance-method","name":"match","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L5"},"def":{"name":"match","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"element.text.includes?(@expected_value)"}},{"html_id":"negative_failure_message(element:LuckyFlow::Element)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L16"},"def":{"name":"negative_failure_message","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"\"Expected element not to have text: #{@expected_value}\""}}]}]},{"html_id":"lucky_flow/LuckyFlow/FindElement","path":"LuckyFlow/FindElement.html","kind":"class","full_name":"LuckyFlow::FindElement","name":"FindElement","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/find_element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"Find element on a page with a retry","summary":"

Find element on a page with a retry

","class_methods":[{"html_id":"run(*args,**named_args):LuckyFlow::Element-class-method","name":"run","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **named_args) : LuckyFlow::Element","args_html":"(*args, **named_args) : LuckyFlow::Element","location":{"filename":"src/lucky_flow/find_element.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L12"},"def":{"name":"run","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"named_args","external_name":"named_args","restriction":""},"splat_index":0,"return_type":"LuckyFlow::Element","visibility":"Public","body":"(new(*args, **named_args)).run"}}],"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector,textinner_text:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"::LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":""},{"name":"inner_text","default_value":"nil","external_name":"text","restriction":"::Nil | ::String"}],"args_string":"(driver : LuckyFlow::Driver, selector, text inner_text : Nil | String = nil)","args_html":"(driver : LuckyFlow::Driver, selector, text inner_text : Nil | String = nil)","location":{"filename":"src/lucky_flow/find_element.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L8"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"::LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":""},{"name":"inner_text","default_value":"nil","external_name":"text","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"run:LuckyFlow::Element-instance-method","name":"run","abstract":false,"location":{"filename":"src/lucky_flow/find_element.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L16"},"def":{"name":"run","return_type":"LuckyFlow::Element","visibility":"Public","body":"loop do\n matching_elements = find_matching_elements\n if matching_elements.first?\n return matching_elements.first\n end\n if has_retries_left?\n else\n break\n end\n sleep(retry_delay_in_ms)\nend\nraise_element_not_found_error\n"}}]},{"html_id":"lucky_flow/LuckyFlow/HabitatSettings","path":"LuckyFlow/HabitatSettings.html","kind":"class","full_name":"LuckyFlow::HabitatSettings","name":"HabitatSettings","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L16"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"base_uri:String-class-method","name":"base_uri","abstract":false,"def":{"name":"base_uri","return_type":"String","visibility":"Public","body":"@@base_uri.not_nil!"}},{"html_id":"base_uri=(value:String)-class-method","name":"base_uri=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","def":{"name":"base_uri=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@@base_uri = value"}},{"html_id":"base_uri?-class-method","name":"base_uri?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use base_uri in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use base_uri in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"base_uri?","visibility":"Public","body":"@@base_uri"}},{"html_id":"driver_path:String|Nil-class-method","name":"driver_path","abstract":false,"def":{"name":"driver_path","return_type":"String | ::Nil","visibility":"Public","body":"@@driver_path"}},{"html_id":"driver_path=(value:String|Nil)-class-method","name":"driver_path=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String | ::Nil"}],"args_string":"(value : String | Nil)","args_html":"(value : String | Nil)","def":{"name":"driver_path=","args":[{"name":"value","external_name":"value","restriction":"String | ::Nil"}],"visibility":"Public","body":"@@driver_path = value"}},{"html_id":"driver_path?-class-method","name":"driver_path?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use driver_path in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use driver_path in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"driver_path?","visibility":"Public","body":"@@driver_path"}},{"html_id":"retry_delay:Time::Span-class-method","name":"retry_delay","abstract":false,"def":{"name":"retry_delay","return_type":"Time::Span","visibility":"Public","body":"@@retry_delay.not_nil!"}},{"html_id":"retry_delay=(value:Time::Span)-class-method","name":"retry_delay=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"args_string":"(value : Time::Span)","args_html":"(value : Time::Span)","def":{"name":"retry_delay=","args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"visibility":"Public","body":"@@retry_delay = value"}},{"html_id":"retry_delay?-class-method","name":"retry_delay?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use retry_delay in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use retry_delay in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"retry_delay?","visibility":"Public","body":"@@retry_delay"}},{"html_id":"screenshot_directory:String-class-method","name":"screenshot_directory","abstract":false,"def":{"name":"screenshot_directory","return_type":"String","visibility":"Public","body":"@@screenshot_directory.not_nil!"}},{"html_id":"screenshot_directory=(value:String)-class-method","name":"screenshot_directory=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","def":{"name":"screenshot_directory=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@@screenshot_directory = value"}},{"html_id":"screenshot_directory?-class-method","name":"screenshot_directory?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use screenshot_directory in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use screenshot_directory in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"screenshot_directory?","visibility":"Public","body":"@@screenshot_directory"}},{"html_id":"stop_retrying_after:Time::Span-class-method","name":"stop_retrying_after","abstract":false,"def":{"name":"stop_retrying_after","return_type":"Time::Span","visibility":"Public","body":"@@stop_retrying_after.not_nil!"}},{"html_id":"stop_retrying_after=(value:Time::Span)-class-method","name":"stop_retrying_after=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"args_string":"(value : Time::Span)","args_html":"(value : Time::Span)","def":{"name":"stop_retrying_after=","args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"visibility":"Public","body":"@@stop_retrying_after = value"}},{"html_id":"stop_retrying_after?-class-method","name":"stop_retrying_after?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use stop_retrying_after in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use stop_retrying_after in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"stop_retrying_after?","visibility":"Public","body":"@@stop_retrying_after"}},{"html_id":"to_h-class-method","name":"to_h","doc":"Generates a hash using the provided values","summary":"

Generates a hash using the provided values

","abstract":false,"def":{"name":"to_h","visibility":"Public","body":"{\"screenshot_directory\" => screenshot_directory, \"base_uri\" => base_uri, \"retry_delay\" => retry_delay, \"stop_retrying_after\" => stop_retrying_after, \"driver_path\" => driver_path}"}}]},{"html_id":"lucky_flow/LuckyFlow/InfiniteRedirectError","path":"LuckyFlow/InfiniteRedirectError.html","kind":"class","full_name":"LuckyFlow::InfiniteRedirectError","name":"InfiniteRedirectError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":51,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L51"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/InvalidMultiSelectError","path":"LuckyFlow/InvalidMultiSelectError.html","kind":"class","full_name":"LuckyFlow::InvalidMultiSelectError","name":"InvalidMultiSelectError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L45"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/errors.cr","line_number":46,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L46"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","path":"LuckyFlow/InvalidOperationError.html","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":42,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L42"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/InvalidMultiSelectError","kind":"class","full_name":"LuckyFlow::InvalidMultiSelectError","name":"InvalidMultiSelectError"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByDriverError","path":"LuckyFlow/NotSupportedByDriverError.html","kind":"class","full_name":"LuckyFlow::NotSupportedByDriverError","name":"NotSupportedByDriverError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L8"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByElementError","path":"LuckyFlow/NotSupportedByElementError.html","kind":"class","full_name":"LuckyFlow::NotSupportedByElementError","name":"NotSupportedByElementError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L11"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/Registry","path":"LuckyFlow/Registry.html","kind":"class","full_name":"LuckyFlow::Registry","name":"Registry","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/registry.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"available:Set(String)-class-method","name":"available","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L12"},"def":{"name":"available","return_type":"Set(String)","visibility":"Public","body":"Set.new(@@registry.keys)"}},{"html_id":"current_driver:LuckyFlow::Driver|Nil-class-method","name":"current_driver","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L3"},"def":{"name":"current_driver","return_type":"LuckyFlow::Driver | ::Nil","visibility":"Public","body":"@@current_driver"}},{"html_id":"current_driver=(current_driver:LuckyFlow::Driver|Nil)-class-method","name":"current_driver=","abstract":false,"args":[{"name":"current_driver","external_name":"current_driver","restriction":"LuckyFlow::Driver | ::Nil"}],"args_string":"(current_driver : LuckyFlow::Driver | Nil)","args_html":"(current_driver : LuckyFlow::Driver | Nil)","location":{"filename":"src/lucky_flow/registry.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L3"},"def":{"name":"current_driver=","args":[{"name":"current_driver","external_name":"current_driver","restriction":"LuckyFlow::Driver | ::Nil"}],"visibility":"Public","body":"@@current_driver = current_driver"}},{"html_id":"default_driver:String-class-method","name":"default_driver","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L2"},"def":{"name":"default_driver","return_type":"String","visibility":"Public","body":"@@default_driver"}},{"html_id":"default_driver=(default_driver:String)-class-method","name":"default_driver=","abstract":false,"args":[{"name":"default_driver","external_name":"default_driver","restriction":"String"}],"args_string":"(default_driver : String)","args_html":"(default_driver : String)","location":{"filename":"src/lucky_flow/registry.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L2"},"def":{"name":"default_driver=","args":[{"name":"default_driver","external_name":"default_driver","restriction":"String"}],"visibility":"Public","body":"@@default_driver = default_driver"}},{"html_id":"get_driver(name:String=default_driver):LuckyFlow::Driver-class-method","name":"get_driver","abstract":false,"args":[{"name":"name","default_value":"default_driver","external_name":"name","restriction":"String"}],"args_string":"(name : String = default_driver) : LuckyFlow::Driver","args_html":"(name : String = default_driver) : LuckyFlow::Driver","location":{"filename":"src/lucky_flow/registry.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L16"},"def":{"name":"get_driver","args":[{"name":"name","default_value":"default_driver","external_name":"name","restriction":"String"}],"return_type":"LuckyFlow::Driver","visibility":"Public","body":"__temp_93 = name\n@@running_registry[__temp_93]? || (@@running_registry[__temp_93] = @@registry[name].call)\n"}},{"html_id":"register(name:String|Symbol,&block:->LuckyFlow::Driver)-class-method","name":"register","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | Symbol"}],"args_string":"(name : String | Symbol, &block : -> LuckyFlow::Driver)","args_html":"(name : String | Symbol, &block : -> LuckyFlow::Driver)","location":{"filename":"src/lucky_flow/registry.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L8"},"def":{"name":"register","args":[{"name":"name","external_name":"name","restriction":"String | Symbol"}],"yields":0,"block_arity":0,"block_arg":{"name":"block","external_name":"block","restriction":"(-> LuckyFlow::Driver)"},"visibility":"Public","body":"@@registry[name.to_s] = block"}},{"html_id":"shutdown_all-class-method","name":"shutdown_all","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L20"},"def":{"name":"shutdown_all","visibility":"Public","body":"@@running_registry.values.each(&.shutdown)\n@@running_registry.clear\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Selector","path":"LuckyFlow/Selector.html","kind":"class","full_name":"LuckyFlow::Selector","name":"Selector","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selector.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selector.cr#L7"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"Returns selector or transforms it into a flow-id selector\n\nExample:\n\n Selector.new(\".some-class\").parse # => \".some-class\"\n Selector.new(\"@new-comment-button\").parse # => \"[flow-id='new-comment-button']\"","summary":"

Returns selector or transforms it into a flow-id selector

","constructors":[{"html_id":"new(raw_selector:String)-class-method","name":"new","abstract":false,"args":[{"name":"raw_selector","external_name":"raw_selector","restriction":"String"}],"args_string":"(raw_selector : String)","args_html":"(raw_selector : String)","location":{"filename":"src/lucky_flow/selector.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selector.cr#L10"},"def":{"name":"new","args":[{"name":"raw_selector","external_name":"raw_selector","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(raw_selector)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"parse-instance-method","name":"parse","abstract":false,"location":{"filename":"src/lucky_flow/selector.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selector.cr#L13"},"def":{"name":"parse","visibility":"Public","body":"if should_select_flow_id?\n flow_id_selector\nelse\n raw_selector\nend"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium","path":"LuckyFlow/Selenium.html","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L1"},{"filename":"src/lucky_flow/selenium/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome","path":"LuckyFlow/Selenium/Chrome.html","kind":"module","full_name":"LuckyFlow::Selenium::Chrome","name":"Chrome","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"types":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome/Driver","path":"LuckyFlow/Selenium/Chrome/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Chrome::Driver","name":"Driver","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome","kind":"module","full_name":"LuckyFlow::Selenium::Chrome","name":"Chrome"},"constructors":[{"html_id":"new(&)-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L8"},"def":{"name":"new","yields":1,"block_arity":1,"visibility":"Public","body":"_ = allocate\n_.initialize do |_arg0|\n yield _arg0\nend\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","path":"LuckyFlow/Selenium/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver","abstract":true,"superclass":{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Chrome::Driver","name":"Driver"}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":33,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L33"},"def":{"name":"accept_alert","visibility":"Public","body":"session.alert_manager.accept_alert"}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":59,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L59"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"session.cookie_manager.add_cookie(key, value)"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":55,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L55"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"session.current_url"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":37,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L37"},"def":{"name":"dismiss_alert","visibility":"Public","body":"session.alert_manager.dismiss_alert"}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":47,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L47"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"find_elements(:css, query)"}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":51,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L51"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"find_elements(:xpath, query)"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":63,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L63"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"(session.cookie_manager.get_cookie(key)).value"}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":41,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L41"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"if midpoint = element.midpoint\n session.move_to(**midpoint)\nend"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":67,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L67"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"session.document_manager.page_source"}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":25,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L25"},"def":{"name":"maximize_window","visibility":"Public","body":"session.window_manager.maximize"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":71,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L71"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@session.try do |__arg0|\n __arg0.cookie_manager.delete_all_cookies\nend"}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L29"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"session.window_manager.resize_window(width: width, height: height)"}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L11"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"FileUtils.mkdir_p(File.dirname(path))\nsession.screenshot(path)\n"}},{"html_id":"shutdown:Nil-instance-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":79,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L79"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"@session.try(&.delete)\nstop\n"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":75,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L75"},"def":{"name":"stop","visibility":"Public","body":"@driver.try(&.stop)"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L16"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"session.navigate_to(url)"}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L20"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":"result = session.window_manager.window_rect\n{width: result.width, height: result.height}\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Element","path":"LuckyFlow/Selenium/Element.html","kind":"class","full_name":"LuckyFlow::Selenium::Element","name":"Element","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"constructors":[{"html_id":"new(driver,raw_selector,inner_element:::Selenium::Element)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::Selenium::Element"}],"args_string":"(driver, raw_selector, inner_element : ::Selenium::Element)","args_html":"(driver, raw_selector, inner_element : ::Selenium::Element)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L6"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::Selenium::Element"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, raw_selector, inner_element)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L26"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@inner_element.attribute(name)"}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":22,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L22"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":"selected?"}},{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":38,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L38"},"def":{"name":"clear","visibility":"Public","body":"@inner_element.clear"}},{"html_id":"click-instance-method","name":"click","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":42,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L42"},"def":{"name":"click","visibility":"Public","body":"@inner_element.click"}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L14"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":"@inner_element.displayed?"}},{"html_id":"fill(value:Time)-instance-method","name":"fill","doc":"To set the value of date inputs correctly\nyou must put the year last\nbut it still submits the form with the date first\n...any questions?","summary":"

To set the value of date inputs correctly you must put the year last but it still submits the form with the date first ...any questions?

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"}],"args_string":"(value : Time)","args_html":"(value : Time)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L50"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"Time"}],"visibility":"Public","body":"fill(value.to_s(\"%m-%d-%Y\"))"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L70"},"def":{"name":"midpoint","return_type":"NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":"midpoint = @inner_element.rect.try(&.midpoint)\nif midpoint.nil?\n return\nend\n{x: midpoint.x, y: midpoint.y}\n"}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":30,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L30"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@inner_element.property(name)"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":58,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L58"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"select_el = ::Selenium::Helpers::Select.from_element(@inner_element)\nselect_el.select_by_value(value)\n"}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":63,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L63"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":"select_el = ::Selenium::Helpers::Select.from_element(@inner_element)\nif select_el.multiple?\nelse\n raise(LuckyFlow::InvalidMultiSelectError.new)\nend\nvalues.each do |value|\n select_el.select_by_value(value)\nend\n"}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L18"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":"@inner_element.selected?"}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":false,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":54,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L54"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":"@inner_element.send_keys(keys)"}},{"html_id":"send_keys(*args,**options)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L2"},"def":{"name":"send_keys","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@inner_element.send_keys(*args, **options)"}},{"html_id":"send_keys(*args,**options,&)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L2"},"def":{"name":"send_keys","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@inner_element.send_keys(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":34,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L34"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":"@inner_element.tag_name"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.text"}}]}]},{"html_id":"lucky_flow/LuckyFlow/Spec","path":"LuckyFlow/Spec.html","kind":"module","full_name":"LuckyFlow::Spec","name":"Spec","abstract":false,"locations":[{"filename":"src/lucky_flow/spec.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/spec.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"macros":[{"html_id":"setup-macro","name":"setup","abstract":false,"location":{"filename":"src/lucky_flow/spec.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/spec.cr#L2"},"def":{"name":"setup","visibility":"Public","body":" Spec.around_each do |spec|\n if driver_name = (spec.example._lucky_flow_all_tags & LuckyFlow::Registry.available).first?\n LuckyFlow.driver(driver_name)\n \nend\n\n spec.run\n\n LuckyFlow.reset\n LuckyFlow.use_default_driver\n \nend\n\n Spec.after_suite do\n LuckyFlow.shutdown\n \nend\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless","path":"LuckyFlow/Webless.html","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless","abstract":false,"locations":[{"filename":"src/lucky_flow/webless/browser.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Webless/Browser","path":"LuckyFlow/Webless/Browser.html","kind":"class","full_name":"LuckyFlow::Webless::Browser","name":"Browser","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/browser.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"REDIRECT_LIMIT","name":"REDIRECT_LIMIT","value":"5"}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(client:::Webless::Client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"::Webless::Client"}],"args_string":"(client : ::Webless::Client)","args_html":"(client : ::Webless::Client)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L6"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":"::Webless::Client"}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":41,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L41"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@client.cookie_jar[key] = value"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":33,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L33"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"@client.last_request_url"}},{"html_id":"find_css(query:String):Array(HTML5::Node)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(HTML5::Node)","args_html":"(query : String) : Array(HTML5::Node)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":25,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L25"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(HTML5::Node)","visibility":"Public","body":"parsed_html.css(query)"}},{"html_id":"find_xpath(query:String):Array(HTML5::Node)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(HTML5::Node)","args_html":"(query : String) : Array(HTML5::Node)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L29"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(HTML5::Node)","visibility":"Public","body":"parsed_html.xpath_nodes(query)"}},{"html_id":"follow(method:String,url:String)-instance-method","name":"follow","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String)","args_html":"(method : String, url : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L13"},"def":{"name":"follow","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@client.exec(method.upcase, url)\nhandle_redirects\n@parsed_html = nil\n"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L45"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@client.cookie_jar[key]?"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":49,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L49"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"@client.last_response.body"}},{"html_id":"reset-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":37,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L37"},"def":{"name":"reset","visibility":"Public","body":"@client.clear_cookies"}},{"html_id":"submit(request:HTTP::Request)-instance-method","name":"submit","abstract":false,"args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"args_string":"(request : HTTP::Request)","args_html":"(request : HTTP::Request)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":19,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L19"},"def":{"name":"submit","args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"visibility":"Public","body":"@client.exec(request)\nhandle_redirects\n@parsed_html = nil\n"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L9"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"follow(\"GET\", url)"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Driver","path":"LuckyFlow/Webless/Driver.html","kind":"class","full_name":"LuckyFlow::Webless::Driver","name":"Driver","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(handlers:Array(HTTP::Handler))-class-method","name":"new","abstract":false,"args":[{"name":"handlers","external_name":"handlers","restriction":"Array(HTTP::Handler)"}],"args_string":"(handlers : Array(HTTP::Handler))","args_html":"(handlers : Array(HTTP::Handler))","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L2"},"def":{"name":"new","args":[{"name":"handlers","external_name":"handlers","restriction":"Array(HTTP::Handler)"}],"visibility":"Public","body":"new(HTTP::Server.build_middleware(handlers))"}},{"html_id":"new(handler:HTTP::Handler)-class-method","name":"new","abstract":false,"args":[{"name":"handler","external_name":"handler","restriction":"HTTP::Handler"}],"args_string":"(handler : HTTP::Handler)","args_html":"(handler : HTTP::Handler)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L8"},"def":{"name":"new","args":[{"name":"handler","external_name":"handler","restriction":"HTTP::Handler"}],"visibility":"Public","body":"_ = allocate\n_.initialize(handler)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":36,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L36"},"def":{"name":"accept_alert","visibility":"Public","body":"unsupported"}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":60,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L60"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@browser.add_cookie(key, value)"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":56,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L56"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"@browser.current_url"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L40"},"def":{"name":"dismiss_alert","visibility":"Public","body":"unsupported"}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":48,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L48"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"(@browser.find_css(query)).map do |el|\n element(query, el)\nend"}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":52,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L52"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"(@browser.find_xpath(query)).map do |el|\n element(query, el)\nend"}},{"html_id":"follow(method:String,url:String)-instance-method","name":"follow","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String)","args_html":"(method : String, url : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L20"},"def":{"name":"follow","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@browser.follow(method, url)"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":64,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L64"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@browser.get_cookie(key)"}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":44,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L44"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"unsupported"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":68,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L68"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"@browser.html"}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":28,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L28"},"def":{"name":"maximize_window","visibility":"Public","body":"unsupported"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":76,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L76"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@browser.reset"}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L32"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"unsupported"}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L12"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"unsupported"}},{"html_id":"shutdown:Nil-instance-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":84,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L84"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"stop"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":80,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L80"},"def":{"name":"stop","visibility":"Public","body":""}},{"html_id":"submit(request:HTTP::Request)-instance-method","name":"submit","abstract":false,"args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"args_string":"(request : HTTP::Request)","args_html":"(request : HTTP::Request)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":72,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L72"},"def":{"name":"submit","args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"visibility":"Public","body":"@browser.submit(request)"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L16"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@browser.visit(url)"}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L24"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":"unsupported"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Element","path":"LuckyFlow/Webless/Element.html","kind":"class","full_name":"LuckyFlow::Webless::Element","name":"Element","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"VISIBILITY_XPATH","name":"VISIBILITY_XPATH","value":"\"boolean(./ancestor-or-self::*[(((./@style[(contains(., 'display:none') or contains(., 'display: none'))] or ./@hidden) or ((name(.) = 'script') or (name(.) = 'head'))) or (not(./self::summary) and ./parent::details[not(./@open)]))])\""}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(driver,raw_selector,inner_element:HTML5::Node)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::HTML5::Node"}],"args_string":"(driver, raw_selector, inner_element : HTML5::Node)","args_html":"(driver, raw_selector, inner_element : HTML5::Node)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L6"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::HTML5::Node"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, raw_selector, inner_element)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"append(value:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfield = el(\"input[name='comment']\")\nfield.fill(\"Lucky is:\")\n\nfield.append(\" So much fun!\")\n```","summary":"

Add text to the end of a field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":46,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L46"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"__temp_95 = find_or_create_attr(\"value\")\n__temp_95.val = __temp_95.val + value\n"}},{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":69,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L69"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"attr = _attribute(name)\nval = attr.try(&.val)\nif attr.nil? && (name == \"value\")\n val = \"\"\nend\nval\n"}},{"html_id":"check-instance-method","name":"check","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":174,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L174"},"def":{"name":"check","visibility":"Public","body":"if checkbox?\n set_checkbox(!checked?)\nelse\n if radio?\n set_radio\n end\nend"}},{"html_id":"checkbox?:Bool-instance-method","name":"checkbox?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":157,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L157"},"def":{"name":"checkbox?","return_type":"Bool","visibility":"Public","body":"(attribute(\"type\")) == \"checkbox\""}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":65,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L65"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":"(attribute(\"checked\")) == \"checked\""}},{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":91,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L91"},"def":{"name":"clear","visibility":"Public","body":"(_attribute(\"value\")).try(&.val = \"\")"}},{"html_id":"click-instance-method","name":"click","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L29"},"def":{"name":"click","visibility":"Public","body":"if link?\n method = (attribute(\"data-method\")) || \"get\"\n (driver.as(LuckyFlow::Webless::Driver)).follow(method, (attribute(\"href\")).to_s)\nelse\n if submits? && (f = form)\n (LuckyFlow::Webless::Form.new(f, @inner_element)).submit(driver.as(LuckyFlow::Webless::Driver))\n else\n if checkable?\n check\n end\n end\nend"}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":54,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L54"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":"if (tag_name == \"input\") && ((attribute(\"type\")) == \"hidden\")\n return false\nend\nif tag_name == \"template\"\n return false\nend\n(@driver.find_xpath(VISIBILITY_XPATH)).empty?\n"}},{"html_id":"fill(value:String)-instance-method","name":"fill","doc":"Set the text of a form field\n\n```\nfield = el(\"input[name='comment']\")\n\nfield.fill(\"Lucky is great!\")\n```","summary":"

Set the text of a form field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L40"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"if input_field? || textarea?\n set_input(value)\nend"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":115,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L115"},"def":{"name":"midpoint","return_type":"::NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":"unsupported"}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":83,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L83"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"attribute(name)"}},{"html_id":"radio?:Bool-instance-method","name":"radio?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":161,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L161"},"def":{"name":"radio?","return_type":"Bool","visibility":"Public","body":"(attribute(\"type\")) == \"radio\""}},{"html_id":"remove_attribute(name:String,element:HTML5::Node=@inner_element)-instance-method","name":"remove_attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"element","default_value":"@inner_element","external_name":"element","restriction":"HTML5::Node"}],"args_string":"(name : String, element : HTML5::Node = @inner_element)","args_html":"(name : String, element : HTML5::Node = @inner_element)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":79,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L79"},"def":{"name":"remove_attribute","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"element","default_value":"@inner_element","external_name":"element","restriction":"HTML5::Node"}],"visibility":"Public","body":"element.attr.reject! do |at|\n at.key == name\nend"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":95,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L95"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"(@inner_element.xpath_nodes(\".//option[@selected]\")).each do |node|\n remove_attribute(\"selected\", node)\nend\n(@inner_element.xpath(\".//option[@value='#{value}']\")).try do |el|\n (find_or_create_attr(\"selected\", el)).val = \"selected\"\nend\n"}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":103,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L103"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":"if multiple?\nelse\n raise(LuckyFlow::InvalidMultiSelectError.new)\nend\n(@inner_element.xpath_nodes(\".//option[@selected]\")).each do |node|\n remove_attribute(\"selected\", node)\nend\nvalues.each do |value|\n (@inner_element.xpath(\".//option[@value='#{value}']\")).try do |el|\n (find_or_create_attr(\"selected\", el)).val = \"selected\"\n end\nend\n"}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":61,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L61"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":"(attribute(\"selected\")) == \"selected\""}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":false,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L50"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":"append(keys.join)"}},{"html_id":"set_checkbox(value:Bool)-instance-method","name":"set_checkbox","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool)","args_html":"(value : Bool)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":192,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L192"},"def":{"name":"set_checkbox","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"visibility":"Public","body":"if value\n checked = find_or_create_attr(\"checked\")\n checked.val = \"checked\"\nelse\n remove_attribute(\"checked\")\nend"}},{"html_id":"set_radio-instance-method","name":"set_radio","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":182,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L182"},"def":{"name":"set_radio","visibility":"Public","body":"if name = attribute(\"name\")\n (driver.find_xpath(\"//input[(./@name = '#{name}')]\")).each do |node|\n remove_attribute(\"checked\", (node.as(LuckyFlow::Webless::Element)).inner_element)\n end\nend\nchecked = find_or_create_attr(\"checked\")\nchecked.val = \"checked\"\n"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":87,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L87"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":"@inner_element.data"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.inner_text"}},{"html_id":"value-instance-method","name":"value","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L14"},"def":{"name":"value","visibility":"Public","body":"if tag_name == \"select\"\n selected_options = @inner_element.xpath_nodes(\".//option[@selected]\")\n if multiple?\n selected_options.map do |option|\n option[\"value\"]? || option.inner_text\n end\n else\n option = selected_options.first? || (@inner_element.xpath(\".//option\"))\n if option.nil?\n raise(\"expected select to contain an option\")\n end\n option[\"value\"]?.try(&.val) || option.inner_text\n end\nelse\n attribute(\"value\")\nend"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Form","path":"LuckyFlow/Webless/Form.html","kind":"class","full_name":"LuckyFlow::Webless::Form","name":"Form","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/form.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/form.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ALL_FORM_FIELDS","name":"ALL_FORM_FIELDS","value":"\".//*[self::input | self::select | self::textarea | self::button][not(./@form)][not(./@disabled)]\""},{"id":"ALL_FORM_FIELDS_WITH_FORM_ID","name":"ALL_FORM_FIELDS_WITH_FORM_ID","value":"\".//*[self::input | self::select | self::textarea | self::button][not(./@form)][not(./@disabled)] | //*[self::input | self::select | self::textarea | self::button][(./@form = '%s')][not(./@disabled)]\""}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(form_node:HTML5::Node,submit_node:HTML5::Node)-class-method","name":"new","abstract":false,"args":[{"name":"form_node","external_name":"form_node","restriction":"::HTML5::Node"},{"name":"submit_node","external_name":"submit_node","restriction":"::HTML5::Node"}],"args_string":"(form_node : HTML5::Node, submit_node : HTML5::Node)","args_html":"(form_node : HTML5::Node, submit_node : HTML5::Node)","location":{"filename":"src/lucky_flow/webless/form.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/form.cr#L7"},"def":{"name":"new","args":[{"name":"form_node","external_name":"form_node","restriction":"::HTML5::Node"},{"name":"submit_node","external_name":"submit_node","restriction":"::HTML5::Node"}],"visibility":"Public","body":"_ = allocate\n_.initialize(form_node, submit_node)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"submit(driver:LuckyFlow::Webless::Driver)-instance-method","name":"submit","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Webless::Driver"}],"args_string":"(driver : LuckyFlow::Webless::Driver)","args_html":"(driver : LuckyFlow::Webless::Driver)","location":{"filename":"src/lucky_flow/webless/form.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/form.cr#L10"},"def":{"name":"submit","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Webless::Driver"}],"visibility":"Public","body":"form_field_xpath = if (id_attr = @form_node[\"id\"]?) && (!id_attr.val.blank?)\n ALL_FORM_FIELDS_WITH_FORM_ID % id_attr.val\nelse\n ALL_FORM_FIELDS\nend\nform_field_nodes = @form_node.xpath_nodes(form_field_xpath)\nform_field_nodes.reject! do |node|\n (submitter?(node)) && (node != submit_node)\nend\nform_values = form_field_nodes.compact_map do |form_field_node|\n case form_field_node.data\n when \"input\"\n parse_input_field(form_field_node)\n when \"textarea\"\n parse_textarea_field(form_field_node)\n when \"select\"\n parse_select_field(form_field_node)\n end\nend.to_h\nrequest_method = @form_node[\"method\"]?.try(&.val) == \"post\" ? :post : :get\nrequest_path = @submit_node[\"formaction\"]?.try() do |__arg1|\n __arg1.val.presence\nend || @form_node[\"action\"].val\nrequest = (((::Webless::RequestBuilder.new.method(request_method)).path(request_path)).form(form_values, multipart?)).build\ndriver.submit(request)\n"}}]}]}]},{"html_id":"lucky_flow/Spec","path":"Spec.html","kind":"module","full_name":"Spec","name":"Spec","abstract":false,"locations":[{"filename":"src/ext/spec/item.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/spec/item.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"lucky_flow/Spec/Item","path":"Spec/Item.html","kind":"module","full_name":"Spec::Item","name":"Item","abstract":false,"locations":[{"filename":"src/ext/spec/item.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/spec/item.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/Spec","kind":"module","full_name":"Spec","name":"Spec"}}]}]}} \ No newline at end of file +{"repository_name":"lucky_flow","body":"# LuckyFlow\n\n[![API Documentation Website](https://img.shields.io/website?down_color=red&down_message=Offline&label=API%20Documentation&up_message=Online&url=https%3A%2F%2Fluckyframework.github.io%2Flucky_flow%2F)](https://luckyframework.github.io/lucky_flow)\n\nLuckyFlow is a library for testing user flows in the browser. It is similar to\nRuby's Capybara.\n\n![LuckyFlow example](https://user-images.githubusercontent.com/22394/40257158-1a2f30b8-5abb-11e8-90c2-94463638e65d.png)\n\n## Installation in [Lucky](https://luckyframework.org) projects\n\nLuckyFlow is already installed and configured. Check out the guides\nto see how to use it: https://luckyframework.org/guides/browser-tests/\n\n## Installation in other Crystal projects\n\nAdd this to your application's `shard.yml`:\n\n```yaml\ndevelopment_dependencies:\n lucky_flow:\n github: luckyframework/lucky_flow\n```\n\nConfigure LuckyFlow in `spec/spec_helper.cr`:\n\n```crystal\nrequire \"lucky_flow\"\n\nLuckyFlow.configure do |settings|\n # This is required\n settings.base_uri = \"http://localhost:\"\n\n # Optional settings. Defaults are shown here\n settings.retry_delay = 10.milliseconds\n settings.stop_retrying_after = 1.second\n settings.screenshot_directory = \"./tmp/screenshots\"\n settings.browser_binary = \"/Applications/Brave Browser.app/Contents/MacOS/Brave Browser\"\nend\n\n# Put this at the bottom of the file.\n# If a required setting is missing, this will catch it.\nHabitat.raise_if_missing_settings!\n```\n\nThen view the guides: https://luckyframework.org/guides/browser-tests/\n\nYou should be ready to go!\n\nFor use with some of the Lucky shards (including Lucky itself), you'll need\nto require a few extensions:\n\n```crystal\n# This extension adds an override to `visit` allowing you\n# to pass in a Lucky::Action.class or Lucky::RouteHelper\nrequire \"lucky_flow/ext/lucky\"\n\n# This extension adds a `fill_form` method that you can pass\n# an Operation or SaveOperation to which will populate form\n# fields for you\nrequire \"lucky_flow/ext/avram\"\n\n# Similar to the Lucky extension, this gives an additional override\n# to `visit` that allows you to visit a page as a specific User\nrequire \"lucky_flow/ext/authentic\"\n```\n\n## Usage\n\n> Note that you can only pass string paths to `visit` since only Lucky has\n> route helpers described in the guide below. Example: `visit \"/my-path\"`\n\nView guide at: https://luckyframework.org/guides/browser-tests/\n\n## Contributing\n\n1. Fork it ( https://github.com/luckyframework/lucky_flow/fork )\n1. Create your feature branch (git checkout -b my-new-feature)\n1. Install docker and docker-compose: https://docs.docker.com/compose/install/\n1. Run `script/setup`\n1. Make your changes\n1. Run `script/test` to run the specs, build shards, and check formatting\n1. Commit your changes (git commit -am 'Add some feature')\n1. Push to the branch (git push origin my-new-feature)\n1. Create a new Pull Request\n\n## Contributors\n\n- [paulcsmith](https://github.com/paulcsmith) Paul Smith - creator, maintainer\n","program":{"html_id":"lucky_flow/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"locations":[],"repository_name":"lucky_flow","program":true,"enum":false,"alias":false,"const":false,"types":[{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","path":"AuthenticLuckyFlowHelpers.html","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/authentic.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/authentic.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Authentic](https://github.com/luckyframework/authentic)\nrequired, you can require this file for some additional helpers","summary":"

If you have Authentic required, you can require this file for some additional helpers

","instance_methods":[{"html_id":"visit(action:Lucky::Action.class,asuser:User)-instance-method","name":"visit","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"},{"name":"user","external_name":"as","restriction":"User"}],"args_string":"(action : Lucky::Action.class, as user : User)","args_html":"(action : Lucky::Action.class, as user : User)","location":{"filename":"src/ext/authentic.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/authentic.cr#L4"},"def":{"name":"visit","args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"},{"name":"user","external_name":"as","restriction":"User"}],"visibility":"Public","body":"visit(action.route, as: user)"}},{"html_id":"visit(route_helper:Lucky::RouteHelper,asuser:User)-instance-method","name":"visit","abstract":false,"args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"},{"name":"user","external_name":"as","restriction":"User"}],"args_string":"(route_helper : Lucky::RouteHelper, as user : User)","args_html":"(route_helper : Lucky::RouteHelper, as user : User)","location":{"filename":"src/ext/authentic.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/authentic.cr#L8"},"def":{"name":"visit","args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"},{"name":"user","external_name":"as","restriction":"User"}],"visibility":"Public","body":"url = route_helper.url\nuri = URI.parse(url)\nif uri.query\n url = url + \"&backdoor_user_id=#{user.id}\"\nelse\n if uri.query.nil?\n url = url + \"?backdoor_user_id=#{user.id}\"\n end\nend\ndriver.visit(url)\n"}}]},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","path":"AvramLuckyFlowHelpers.html","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/avram.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/avram.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Avram](https://github.com/luckyframework/avram)\nrequired, you can require this file for some additional helpers","summary":"

If you have Avram required, you can require this file for some additional helpers

","instance_methods":[{"html_id":"fill_form(form:Avram::SaveOperation.class|Avram::Operation.class,**fields_and_values)-instance-method","name":"fill_form","doc":"Fill a form created by Lucky that uses an Avram::SaveOperation\n\nNote that Lucky and Avram are required to use this method\n\n```\nfill_form QuestionForm,\n title: \"Hello there!\",\n body: \"Just wondering what day it is\"\n```","summary":"

Fill a form created by Lucky that uses an Avram::SaveOperation

","abstract":false,"args":[{"name":"form","external_name":"form","restriction":"Avram::SaveOperation.class | Avram::Operation.class"}],"args_string":"(form : Avram::SaveOperation.class | Avram::Operation.class, **fields_and_values)","args_html":"(form : Avram::SaveOperation.class | Avram::Operation.class, **fields_and_values)","location":{"filename":"src/ext/avram.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/avram.cr#L13"},"def":{"name":"fill_form","args":[{"name":"form","external_name":"form","restriction":"Avram::SaveOperation.class | Avram::Operation.class"}],"double_splat":{"name":"fields_and_values","external_name":"fields_and_values","restriction":""},"visibility":"Public","body":"fields_and_values.each do |name, value|\n element = field(\"#{form.param_key}:#{name}\")\n if element.tag_name == \"select\"\n self.select(element, value.to_s)\n else\n self.fill(element, with: value)\n end\nend"}}]},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","path":"LuckyActionLuckyFlowHelpers.html","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/lucky.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/lucky.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Lucky](https://github.com/luckyframework/lucky)\nrequired, you can require this file for some additional helpers","summary":"

If you have Lucky required, you can require this file for some additional helpers

","instance_methods":[{"html_id":"visit(action:Lucky::Action.class)-instance-method","name":"visit","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"}],"args_string":"(action : Lucky::Action.class)","args_html":"(action : Lucky::Action.class)","location":{"filename":"src/ext/lucky.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/lucky.cr#L4"},"def":{"name":"visit","args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"}],"visibility":"Public","body":"visit(action.route)"}},{"html_id":"visit(route_helper:Lucky::RouteHelper)-instance-method","name":"visit","abstract":false,"args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"}],"args_string":"(route_helper : Lucky::RouteHelper)","args_html":"(route_helper : Lucky::RouteHelper)","location":{"filename":"src/ext/lucky.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/lucky.cr#L8"},"def":{"name":"visit","args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"}],"visibility":"Public","body":"url = route_helper.url\ndriver.visit(url)\n"}}]},{"html_id":"lucky_flow/LuckyFlow","path":"LuckyFlow.html","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ext/authentic.cr","line_number":23,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/authentic.cr#L23"},{"filename":"src/ext/avram.cr","line_number":31,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/avram.cr#L31"},{"filename":"src/ext/lucky.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/lucky.cr#L17"},{"filename":"src/lucky_flow.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L7"},{"filename":"src/lucky_flow.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L13"},{"filename":"src/lucky_flow/errors.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L1"},{"filename":"src/lucky_flow/expectations.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations.cr#L3"},{"filename":"src/lucky_flow/version.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/version.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"HABITAT_SETTINGS","name":"HABITAT_SETTINGS","value":"[{decl: screenshot_directory : String = \"./tmp/screenshots\", example: nil, validation: nil}, {decl: base_uri : String, example: nil, validation: nil}, {decl: retry_delay : Time::Span = 10.milliseconds, example: nil, validation: nil}, {decl: stop_retrying_after : Time::Span = 1.second, example: nil, validation: nil}, {decl: driver_path : String | ::Nil, example: nil, validation: nil}] of Nil"},{"id":"VERSION","name":"VERSION","value":"\"0.9.2\""}],"included_modules":[{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"}],"doc":"```\nrequire \"lucky_flow/ext/lucky\"\n```","summary":"

require "lucky_flow/ext/lucky"

","class_methods":[{"html_id":"configure(&)-class-method","name":"configure","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L16"},"def":{"name":"configure","yields":1,"block_arity":1,"visibility":"Public","body":"yield settings"}},{"html_id":"default_driver=(value:String)-class-method","name":"default_driver=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L24"},"def":{"name":"default_driver=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"LuckyFlow::Registry.default_driver = value"}},{"html_id":"driver(name:String):LuckyFlow::Driver-class-method","name":"driver","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : LuckyFlow::Driver","args_html":"(name : String) : LuckyFlow::Driver","location":{"filename":"src/lucky_flow.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L32"},"def":{"name":"driver","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"LuckyFlow::Driver","visibility":"Public","body":"LuckyFlow::Registry.current_driver = LuckyFlow::Registry.get_driver(name)"}},{"html_id":"driver:LuckyFlow::Driver-class-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":28,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L28"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"__temp_49 = LuckyFlow::Registry\n__temp_49.current_driver || (__temp_49.current_driver = LuckyFlow::Registry.get_driver)\n"}},{"html_id":"reset:Nil-class-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":44,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L44"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"LuckyFlow::Registry.current_driver.try(&.reset)"}},{"html_id":"settings-class-method","name":"settings","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L16"},"def":{"name":"settings","visibility":"Public","body":"HabitatSettings"}},{"html_id":"shutdown:Nil-class-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":36,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L36"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"LuckyFlow::Registry.shutdown_all"}},{"html_id":"use_default_driver-class-method","name":"use_default_driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L40"},"def":{"name":"use_default_driver","visibility":"Public","body":"LuckyFlow::Registry.current_driver = nil"}}],"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":162,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L162"},"def":{"name":"accept_alert","visibility":"Public","body":"driver.accept_alert"}},{"html_id":"append(name_attr:String,withvalue:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfill(\"comment:body\", with: \"Lucky is:\")\n\nappend(\"comment:body\", \" So much fun!\")\n```","summary":"

Add text to the end of a field

","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":"String"}],"args_string":"(name_attr : String, with value : String)","args_html":"(name_attr : String, with value : String)","location":{"filename":"src/lucky_flow.cr","line_number":112,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L112"},"def":{"name":"append","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":"String"}],"visibility":"Public","body":"(field(name_attr)).append(value)"}},{"html_id":"click(css_selector:String)-instance-method","name":"click","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"args_string":"(css_selector : String)","args_html":"(css_selector : String)","location":{"filename":"src/lucky_flow.cr","line_number":88,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L88"},"def":{"name":"click","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"visibility":"Public","body":"(el(css_selector)).click"}},{"html_id":"current_path-instance-method","name":"current_path","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":157,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L157"},"def":{"name":"current_path","visibility":"Public","body":"url = driver.current_url\n(URI.parse(url)).path\n"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":166,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L166"},"def":{"name":"dismiss_alert","visibility":"Public","body":"driver.dismiss_alert"}},{"html_id":"driver:LuckyFlow::Driver-instance-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":175,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L175"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"self.class.driver"}},{"html_id":"el(css_selector:String,text:String):LuckyFlow::Element-instance-method","name":"el","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(css_selector : String, text : String) : LuckyFlow::Element","args_html":"(css_selector : String, text : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":141,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L141"},"def":{"name":"el","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"LuckyFlow::FindElement.run(driver, css_selector, text)"}},{"html_id":"el(css_selector:String):LuckyFlow::Element-instance-method","name":"el","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"args_string":"(css_selector : String) : LuckyFlow::Element","args_html":"(css_selector : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":145,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L145"},"def":{"name":"el","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"LuckyFlow::FindElement.run(driver, css_selector)"}},{"html_id":"expand_page_to_fullsize-instance-method","name":"expand_page_to_fullsize","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L70"},"def":{"name":"expand_page_to_fullsize","visibility":"Public","body":"driver.maximize_window"}},{"html_id":"field(name_attr:String):LuckyFlow::Element-instance-method","name":"field","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"}],"args_string":"(name_attr : String) : LuckyFlow::Element","args_html":"(name_attr : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":149,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L149"},"def":{"name":"field","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"el(\"[name='#{name_attr}']\")"}},{"html_id":"fill(name_attr:String,withvalue)-instance-method","name":"fill","doc":"Set the text of a form field, clearing any existing text\n\n```\nfill(\"comment:body\", with: \"Lucky is great!\")\n```","summary":"

Set the text of a form field, clearing any existing text

","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":""}],"args_string":"(name_attr : String, with value)","args_html":"(name_attr : String, with value)","location":{"filename":"src/lucky_flow.cr","line_number":97,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L97"},"def":{"name":"fill","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":""}],"visibility":"Public","body":"fill(field(name_attr), with: value)"}},{"html_id":"fill(element:Element,withvalue)-instance-method","name":"fill","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"with","restriction":""}],"args_string":"(element : Element, with value)","args_html":"(element : Element, with value)","location":{"filename":"src/lucky_flow.cr","line_number":101,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L101"},"def":{"name":"fill","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"with","restriction":""}],"visibility":"Public","body":"element.fill(value)"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":153,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L153"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"driver.html"}},{"html_id":"open_screenshot(process=Process,time=Time.utc,fullsize=false):Void-instance-method","name":"open_screenshot","abstract":false,"args":[{"name":"process","default_value":"Process","external_name":"process","restriction":""},{"name":"time","default_value":"Time.utc","external_name":"time","restriction":""},{"name":"fullsize","default_value":"false","external_name":"fullsize","restriction":""}],"args_string":"(process = Process, time = Time.utc, fullsize = false) : Void","args_html":"(process = Process, time = Time.utc, fullsize = false) : Void","location":{"filename":"src/lucky_flow.cr","line_number":52,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L52"},"def":{"name":"open_screenshot","args":[{"name":"process","default_value":"Process","external_name":"process","restriction":""},{"name":"time","default_value":"Time.utc","external_name":"time","restriction":""},{"name":"fullsize","default_value":"false","external_name":"fullsize","restriction":""}],"return_type":"Void","visibility":"Public","body":"filename = generate_screenshot_filename(time)\ntake_screenshot(filename, fullsize)\nprocess.new(command: \"#{open_command(process)} #{filename}\", shell: true)\n"}},{"html_id":"pause-instance-method","name":"pause","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":170,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L170"},"def":{"name":"pause","visibility":"Public","body":"puts(\"\\nPausing to debug... (press enter to continue)\")\nSTDIN.gets\n"}},{"html_id":"select(name_attr:String,value:Array(String)|String)-instance-method","name":"select","doc":"Select an option from a select element\n\n```\nselect(\"post:category\", value: \"rant\")\n```\n\nIf given an Array(String), the select is assumed to have the 'multiple' attribute\nand will raise a `LuckyFlow::InvalidMultiSelectError` if it doesn't.\n\n```\nselect(\"post:tags\", value: [\"rant\", \"technology\"])\n```\n","summary":"

Select an option from a select element

","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"value","restriction":"Array(String) | String"}],"args_string":"(name_attr : String, value : Array(String) | String)","args_html":"(name_attr : String, value : Array(String) | String)","location":{"filename":"src/lucky_flow.cr","line_number":129,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L129"},"def":{"name":"select","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"value","restriction":"Array(String) | String"}],"visibility":"Public","body":"self.select(field(name_attr), value: value)"}},{"html_id":"select(element:Element,value:String)-instance-method","name":"select","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(element : Element, value : String)","args_html":"(element : Element, value : String)","location":{"filename":"src/lucky_flow.cr","line_number":133,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L133"},"def":{"name":"select","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"element.select_option(value)"}},{"html_id":"select(element:Element,value:Array(String))-instance-method","name":"select","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"Array(String)"}],"args_string":"(element : Element, value : Array(String))","args_html":"(element : Element, value : Array(String))","location":{"filename":"src/lucky_flow.cr","line_number":137,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L137"},"def":{"name":"select","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"Array(String)"}],"visibility":"Public","body":"element.select_options(value)"}},{"html_id":"settings-instance-method","name":"settings","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L16"},"def":{"name":"settings","visibility":"Public","body":"HabitatSettings"}},{"html_id":"take_screenshot(filename:String=generate_screenshot_filename,fullsize:Bool=true)-instance-method","name":"take_screenshot","abstract":false,"args":[{"name":"filename","default_value":"generate_screenshot_filename","external_name":"filename","restriction":"String"},{"name":"fullsize","default_value":"true","external_name":"fullsize","restriction":"Bool"}],"args_string":"(filename : String = generate_screenshot_filename, fullsize : Bool = true)","args_html":"(filename : String = generate_screenshot_filename, fullsize : Bool = true)","location":{"filename":"src/lucky_flow.cr","line_number":58,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L58"},"def":{"name":"take_screenshot","args":[{"name":"filename","default_value":"generate_screenshot_filename","external_name":"filename","restriction":"String"},{"name":"fullsize","default_value":"true","external_name":"fullsize","restriction":"Bool"}],"visibility":"Public","body":"if fullsize\n with_fullsized_page do\n driver.screenshot(filename)\n end\nelse\n driver.screenshot(filename)\nend"}},{"html_id":"visit(path:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow.cr","line_number":48,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L48"},"def":{"name":"visit","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"driver.visit(\"#{settings.base_uri}#{path}\")"}},{"html_id":"with_fullsized_page(&)-instance-method","name":"with_fullsized_page","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":74,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L74"},"def":{"name":"with_fullsized_page","yields":0,"block_arity":0,"visibility":"Public","body":"begin\n original_size = driver.window_size\n expand_page_to_fullsize\n yield\nensure\n if original_size\n driver.resize_window(**original_size)\n end\nend"}}],"types":[{"html_id":"lucky_flow/LuckyFlow/Driver","path":"LuckyFlow/Driver.html","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver","abstract":true,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},{"html_id":"lucky_flow/LuckyFlow/Webless/Driver","kind":"class","full_name":"LuckyFlow::Webless::Driver","name":"Driver"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L10"},"def":{"name":"accept_alert","visibility":"Public","body":""}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":true,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L16"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L15"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":""}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L11"},"def":{"name":"dismiss_alert","visibility":"Public","body":""}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":true,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L13"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":""}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":true,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L14"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":""}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":true,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/driver.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L17"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":true,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L12"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":""}},{"html_id":"html:String-instance-method","name":"html","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L18"},"def":{"name":"html","return_type":"String","visibility":"Public","body":""}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L8"},"def":{"name":"maximize_window","visibility":"Public","body":""}},{"html_id":"reset-instance-method","name":"reset","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L3"},"def":{"name":"reset","visibility":"Public","body":""}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":true,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/driver.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L9"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":""}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":true,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L5"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"shutdown-instance-method","name":"shutdown","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L4"},"def":{"name":"shutdown","visibility":"Public","body":""}},{"html_id":"stop-instance-method","name":"stop","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L2"},"def":{"name":"stop","visibility":"Public","body":""}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":true,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L6"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L7"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":""}}],"macros":[{"html_id":"unsupported-macro","name":"unsupported","abstract":false,"location":{"filename":"src/lucky_flow/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L20"},"def":{"name":"unsupported","visibility":"Public","body":" method_name = \n\\{\n{ @def.name.stringify }}\n raise NotSupportedByDriverError.new(\"#{self.class}##{method_name}\")\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/DriverInstallationError","path":"LuckyFlow/DriverInstallationError.html","kind":"class","full_name":"LuckyFlow::DriverInstallationError","name":"DriverInstallationError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L26"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new(error:Exception)-class-method","name":"new","abstract":false,"args":[{"name":"error","external_name":"error","restriction":"Exception"}],"args_string":"(error : Exception)","args_html":"(error : Exception)","location":{"filename":"src/lucky_flow/errors.cr","line_number":27,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L27"},"def":{"name":"new","args":[{"name":"error","external_name":"error","restriction":"Exception"}],"visibility":"Public","body":"_ = allocate\n_.initialize(error)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Element","path":"LuckyFlow/Element.html","kind":"class","full_name":"LuckyFlow::Element","name":"Element","abstract":true,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Element","kind":"class","full_name":"LuckyFlow::Selenium::Element","name":"Element"},{"html_id":"lucky_flow/LuckyFlow/Webless/Element","kind":"class","full_name":"LuckyFlow::Webless::Element","name":"Element"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"instance_methods":[{"html_id":"append(value:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfield = el(\"input[name='comment']\")\nfield.fill(\"Lucky is:\")\n\nfield.append(\" So much fun!\")\n```","summary":"

Add text to the end of a field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":62,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L62"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"send_keys(value)"}},{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":true,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L11"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"attribute(name:Symbol):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : String | Nil","args_html":"(name : Symbol) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":30,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L30"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"String | ::Nil","visibility":"Public","body":"attribute(name.to_s)"}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L10"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"clear-instance-method","name":"clear","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L14"},"def":{"name":"clear","visibility":"Public","body":""}},{"html_id":"click-instance-method","name":"click","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L6"},"def":{"name":"click","visibility":"Public","body":""}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L8"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"driver:LuckyFlow::Driver-instance-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L2"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"@driver"}},{"html_id":"fill(value:String)-instance-method","name":"fill","doc":"Set the text of a form field\n\n```\nfield = el(\"input[name='comment']\")\n\nfield.fill(\"Lucky is great!\")\n```","summary":"

Set the text of a form field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L45"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"clear\nsend_keys(value)\n"}},{"html_id":"fill(value:Time)-instance-method","name":"fill","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"}],"args_string":"(value : Time)","args_html":"(value : Time)","location":{"filename":"src/lucky_flow/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L50"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"Time"}],"visibility":"Public","body":"fill(value.to_s(\"%Y-%m-%d\"))"}},{"html_id":"hover-instance-method","name":"hover","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L70"},"def":{"name":"hover","visibility":"Public","body":"driver.hover(self)"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L17"},"def":{"name":"midpoint","return_type":"::NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":""}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":true,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L12"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"property(name:Symbol):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : String | Nil","args_html":"(name : Symbol) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":34,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L34"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"String | ::Nil","visibility":"Public","body":"property(name.to_s)"}},{"html_id":"raw_selector:String-instance-method","name":"raw_selector","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L3"},"def":{"name":"raw_selector","return_type":"String","visibility":"Public","body":"@raw_selector"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":true,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L15"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":true,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/element.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L16"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":""}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L9"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"selector:String-instance-method","name":"selector","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":66,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L66"},"def":{"name":"selector","return_type":"String","visibility":"Public","body":"(Selector.new(raw_selector)).parse"}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":true,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/element.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L7"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":""}},{"html_id":"send_keys(key:String)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L26"},"def":{"name":"send_keys","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"send_keys([key])"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L13"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":""}},{"html_id":"text:String-instance-method","name":"text","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L5"},"def":{"name":"text","return_type":"String","visibility":"Public","body":""}},{"html_id":"value-instance-method","name":"value","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":22,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L22"},"def":{"name":"value","visibility":"Public","body":"property(\"value\")"}}],"macros":[{"html_id":"unsupported-macro","name":"unsupported","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":74,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L74"},"def":{"name":"unsupported","visibility":"Public","body":" method_name = \n\\{\n{ @def.name.stringify }}\n raise NotSupportedByElementError.new(\"#{self.class}##{method_name}\")\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/ElementNotFoundError","path":"LuckyFlow/ElementNotFoundError.html","kind":"class","full_name":"LuckyFlow::ElementNotFoundError","name":"ElementNotFoundError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L14"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector:String,inner_text:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"}],"args_string":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil)","args_html":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil)","location":{"filename":"src/lucky_flow/errors.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L15"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Error","path":"LuckyFlow/Error.html","kind":"class","full_name":"LuckyFlow::Error","name":"Error","abstract":false,"superclass":{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L5"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/DriverInstallationError","kind":"class","full_name":"LuckyFlow::DriverInstallationError","name":"DriverInstallationError"},{"html_id":"lucky_flow/LuckyFlow/ElementNotFoundError","kind":"class","full_name":"LuckyFlow::ElementNotFoundError","name":"ElementNotFoundError"},{"html_id":"lucky_flow/LuckyFlow/InfiniteRedirectError","kind":"class","full_name":"LuckyFlow::InfiniteRedirectError","name":"InfiniteRedirectError"},{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByDriverError","kind":"class","full_name":"LuckyFlow::NotSupportedByDriverError","name":"NotSupportedByDriverError"},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByElementError","kind":"class","full_name":"LuckyFlow::NotSupportedByElementError","name":"NotSupportedByElementError"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"= LuckyFlow Errors\n\nGeneric LuckyFlow exception class.","summary":"

= LuckyFlow Errors

"},{"html_id":"lucky_flow/LuckyFlow/ErrorMessageWhenNotFound","path":"LuckyFlow/ErrorMessageWhenNotFound.html","kind":"class","full_name":"LuckyFlow::ErrorMessageWhenNotFound","name":"ErrorMessageWhenNotFound","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/error_message_when_not_found.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"build(*args,**named_args)-class-method","name":"build","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **named_args)","args_html":"(*args, **named_args)","location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/error_message_when_not_found.cr#L6"},"def":{"name":"build","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"named_args","external_name":"named_args","restriction":""},"splat_index":0,"visibility":"Public","body":"(new(*args, **named_args)).build"}}],"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector:String,inner_text:String|Nil,negate:Bool=false)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"},{"name":"negate","default_value":"false","external_name":"negate","restriction":"Bool"}],"args_string":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil, negate : Bool = false)","args_html":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil, negate : Bool = false)","location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/error_message_when_not_found.cr#L10"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"},{"name":"negate","default_value":"false","external_name":"negate","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text, negate)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"build-instance-method","name":"build","abstract":false,"location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/error_message_when_not_found.cr#L18"},"def":{"name":"build","visibility":"Public","body":"String.build do |message|\n message << \"Expected \"\n if negate\n message << \"not \"\n end\n message << \"to find element on page, but it was \"\n if negate\n else\n message << \"not \"\n end\n message << \"found.\"\n message << \"\\n\\n â–¸ looking for: #{selector}\"\n if !inner_text.empty?\n message << \"\\n â–¸ with text: #{inner_text}\"\n end\n if (similar_flow_id && inner_text.empty?) && (!negate)\n message << \"\\n\\n\"\n message << \" Did you mean...\"\n message << \"\\n\\n â–¸ \"\n message << \"'@#{similar_flow_id}'\\n\"\n end\nend"}},{"html_id":"inner_text-instance-method","name":"inner_text","abstract":false,"location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/error_message_when_not_found.cr#L40"},"def":{"name":"inner_text","visibility":"Public","body":"(@inner_text || \"\")"}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations","path":"LuckyFlow/Expectations.html","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations","abstract":false,"locations":[{"filename":"src/lucky_flow/expectations.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations.cr#L4"},{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_current_path_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveCurrentPathExpectation","path":"LuckyFlow/Expectations/HaveCurrentPathExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveCurrentPathExpectation","name":"HaveCurrentPathExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_current_path_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(expected_path:String)-class-method","name":"new","abstract":false,"args":[{"name":"expected_path","external_name":"expected_path","restriction":"String"}],"args_string":"(expected_path : String)","args_html":"(expected_path : String)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_current_path_expectation.cr#L2"},"def":{"name":"new","args":[{"name":"expected_path","external_name":"expected_path","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expected_path)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(flow)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":""}],"args_string":"(flow)","args_html":"(flow)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_current_path_expectation.cr#L9"},"def":{"name":"failure_message","args":[{"name":"flow","external_name":"flow","restriction":""}],"visibility":"Public","body":"\"Expected current path to be: #{@expected_path}\\n actual: #{flow.current_path}\""}},{"html_id":"match(flow:LuckyFlow):Bool-instance-method","name":"match","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow) : Bool","args_html":"(flow : LuckyFlow) : Bool","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_current_path_expectation.cr#L5"},"def":{"name":"match","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"return_type":"Bool","visibility":"Public","body":"flow.current_path == @expected_path"}},{"html_id":"negative_failure_message(_flow)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"_flow","external_name":"_flow","restriction":""}],"args_string":"(_flow)","args_html":"(_flow)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_current_path_expectation.cr#L16"},"def":{"name":"negative_failure_message","args":[{"name":"_flow","external_name":"_flow","restriction":""}],"visibility":"Public","body":"\"Expected current path not to be: #{@expected_path}\""}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveElementExpectation","path":"LuckyFlow/Expectations/HaveElementExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveElementExpectation","name":"HaveElementExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_element_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(css_selector:String,text:String|Nil,visible:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String | ::Nil"},{"name":"visible","external_name":"visible","restriction":"Bool"}],"args_string":"(css_selector : String, text : String | Nil, visible : Bool)","args_html":"(css_selector : String, text : String | Nil, visible : Bool)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_element_expectation.cr#L4"},"def":{"name":"new","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String | ::Nil"},{"name":"visible","external_name":"visible","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(css_selector, text, visible)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(flow:LuckyFlow)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow)","args_html":"(flow : LuckyFlow)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_element_expectation.cr#L24"},"def":{"name":"failure_message","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"visibility":"Public","body":"LuckyFlow::ErrorMessageWhenNotFound.build(flow.driver, @css_selector, @text)"}},{"html_id":"match(flow:LuckyFlow):Bool-instance-method","name":"match","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow) : Bool","args_html":"(flow : LuckyFlow) : Bool","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_element_expectation.cr#L8"},"def":{"name":"match","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"return_type":"Bool","visibility":"Public","body":"begin\n element = if text = @text\n flow.el(@css_selector, text)\n else\n flow.el(@css_selector)\n end\n if @visible\n element.displayed?\n else\n true\n end\nrescue LuckyFlow::ElementNotFoundError\n false\nend"}},{"html_id":"negative_failure_message(flow:LuckyFlow)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow)","args_html":"(flow : LuckyFlow)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_element_expectation.cr#L32"},"def":{"name":"negative_failure_message","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"visibility":"Public","body":"LuckyFlow::ErrorMessageWhenNotFound.build(flow.driver, @css_selector, @text, negate: true)"}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveTextExpectation","path":"LuckyFlow/Expectations/HaveTextExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveTextExpectation","name":"HaveTextExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_text_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(expected_value:String)-class-method","name":"new","abstract":false,"args":[{"name":"expected_value","external_name":"expected_value","restriction":"String"}],"args_string":"(expected_value : String)","args_html":"(expected_value : String)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_text_expectation.cr#L2"},"def":{"name":"new","args":[{"name":"expected_value","external_name":"expected_value","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expected_value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(element:LuckyFlow::Element)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_text_expectation.cr#L9"},"def":{"name":"failure_message","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"\"Expected element to have text: #{@expected_value}\\n actual: #{element.text}\""}},{"html_id":"match(element:LuckyFlow::Element)-instance-method","name":"match","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_text_expectation.cr#L5"},"def":{"name":"match","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"element.text.includes?(@expected_value)"}},{"html_id":"negative_failure_message(element:LuckyFlow::Element)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_text_expectation.cr#L16"},"def":{"name":"negative_failure_message","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"\"Expected element not to have text: #{@expected_value}\""}}]}]},{"html_id":"lucky_flow/LuckyFlow/FindElement","path":"LuckyFlow/FindElement.html","kind":"class","full_name":"LuckyFlow::FindElement","name":"FindElement","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/find_element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/find_element.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"Find element on a page with a retry","summary":"

Find element on a page with a retry

","class_methods":[{"html_id":"run(*args,**named_args):LuckyFlow::Element-class-method","name":"run","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **named_args) : LuckyFlow::Element","args_html":"(*args, **named_args) : LuckyFlow::Element","location":{"filename":"src/lucky_flow/find_element.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/find_element.cr#L12"},"def":{"name":"run","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"named_args","external_name":"named_args","restriction":""},"splat_index":0,"return_type":"LuckyFlow::Element","visibility":"Public","body":"(new(*args, **named_args)).run"}}],"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector,textinner_text:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"::LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":""},{"name":"inner_text","default_value":"nil","external_name":"text","restriction":"::Nil | ::String"}],"args_string":"(driver : LuckyFlow::Driver, selector, text inner_text : Nil | String = nil)","args_html":"(driver : LuckyFlow::Driver, selector, text inner_text : Nil | String = nil)","location":{"filename":"src/lucky_flow/find_element.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/find_element.cr#L8"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"::LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":""},{"name":"inner_text","default_value":"nil","external_name":"text","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"run:LuckyFlow::Element-instance-method","name":"run","abstract":false,"location":{"filename":"src/lucky_flow/find_element.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/find_element.cr#L16"},"def":{"name":"run","return_type":"LuckyFlow::Element","visibility":"Public","body":"loop do\n matching_elements = find_matching_elements\n if matching_elements.first?\n return matching_elements.first\n end\n if has_retries_left?\n else\n break\n end\n sleep(retry_delay_in_ms)\nend\nraise_element_not_found_error\n"}}]},{"html_id":"lucky_flow/LuckyFlow/HabitatSettings","path":"LuckyFlow/HabitatSettings.html","kind":"class","full_name":"LuckyFlow::HabitatSettings","name":"HabitatSettings","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L16"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"base_uri:String-class-method","name":"base_uri","abstract":false,"def":{"name":"base_uri","return_type":"String","visibility":"Public","body":"@@base_uri.not_nil!"}},{"html_id":"base_uri=(value:String)-class-method","name":"base_uri=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","def":{"name":"base_uri=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@@base_uri = value"}},{"html_id":"base_uri?-class-method","name":"base_uri?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use base_uri in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use base_uri in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"base_uri?","visibility":"Public","body":"@@base_uri"}},{"html_id":"driver_path:String|Nil-class-method","name":"driver_path","abstract":false,"def":{"name":"driver_path","return_type":"String | ::Nil","visibility":"Public","body":"@@driver_path"}},{"html_id":"driver_path=(value:String|Nil)-class-method","name":"driver_path=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String | ::Nil"}],"args_string":"(value : String | Nil)","args_html":"(value : String | Nil)","def":{"name":"driver_path=","args":[{"name":"value","external_name":"value","restriction":"String | ::Nil"}],"visibility":"Public","body":"@@driver_path = value"}},{"html_id":"driver_path?-class-method","name":"driver_path?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use driver_path in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use driver_path in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"driver_path?","visibility":"Public","body":"@@driver_path"}},{"html_id":"retry_delay:Time::Span-class-method","name":"retry_delay","abstract":false,"def":{"name":"retry_delay","return_type":"Time::Span","visibility":"Public","body":"@@retry_delay.not_nil!"}},{"html_id":"retry_delay=(value:Time::Span)-class-method","name":"retry_delay=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"args_string":"(value : Time::Span)","args_html":"(value : Time::Span)","def":{"name":"retry_delay=","args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"visibility":"Public","body":"@@retry_delay = value"}},{"html_id":"retry_delay?-class-method","name":"retry_delay?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use retry_delay in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use retry_delay in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"retry_delay?","visibility":"Public","body":"@@retry_delay"}},{"html_id":"screenshot_directory:String-class-method","name":"screenshot_directory","abstract":false,"def":{"name":"screenshot_directory","return_type":"String","visibility":"Public","body":"@@screenshot_directory.not_nil!"}},{"html_id":"screenshot_directory=(value:String)-class-method","name":"screenshot_directory=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","def":{"name":"screenshot_directory=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@@screenshot_directory = value"}},{"html_id":"screenshot_directory?-class-method","name":"screenshot_directory?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use screenshot_directory in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use screenshot_directory in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"screenshot_directory?","visibility":"Public","body":"@@screenshot_directory"}},{"html_id":"stop_retrying_after:Time::Span-class-method","name":"stop_retrying_after","abstract":false,"def":{"name":"stop_retrying_after","return_type":"Time::Span","visibility":"Public","body":"@@stop_retrying_after.not_nil!"}},{"html_id":"stop_retrying_after=(value:Time::Span)-class-method","name":"stop_retrying_after=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"args_string":"(value : Time::Span)","args_html":"(value : Time::Span)","def":{"name":"stop_retrying_after=","args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"visibility":"Public","body":"@@stop_retrying_after = value"}},{"html_id":"stop_retrying_after?-class-method","name":"stop_retrying_after?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use stop_retrying_after in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use stop_retrying_after in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"stop_retrying_after?","visibility":"Public","body":"@@stop_retrying_after"}},{"html_id":"to_h-class-method","name":"to_h","doc":"Generates a hash using the provided values","summary":"

Generates a hash using the provided values

","abstract":false,"def":{"name":"to_h","visibility":"Public","body":"{\"screenshot_directory\" => screenshot_directory, \"base_uri\" => base_uri, \"retry_delay\" => retry_delay, \"stop_retrying_after\" => stop_retrying_after, \"driver_path\" => driver_path}"}}]},{"html_id":"lucky_flow/LuckyFlow/InfiniteRedirectError","path":"LuckyFlow/InfiniteRedirectError.html","kind":"class","full_name":"LuckyFlow::InfiniteRedirectError","name":"InfiniteRedirectError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":51,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L51"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/InvalidMultiSelectError","path":"LuckyFlow/InvalidMultiSelectError.html","kind":"class","full_name":"LuckyFlow::InvalidMultiSelectError","name":"InvalidMultiSelectError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L45"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/errors.cr","line_number":46,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L46"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","path":"LuckyFlow/InvalidOperationError.html","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":42,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L42"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/InvalidMultiSelectError","kind":"class","full_name":"LuckyFlow::InvalidMultiSelectError","name":"InvalidMultiSelectError"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByDriverError","path":"LuckyFlow/NotSupportedByDriverError.html","kind":"class","full_name":"LuckyFlow::NotSupportedByDriverError","name":"NotSupportedByDriverError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L8"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByElementError","path":"LuckyFlow/NotSupportedByElementError.html","kind":"class","full_name":"LuckyFlow::NotSupportedByElementError","name":"NotSupportedByElementError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L11"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/Registry","path":"LuckyFlow/Registry.html","kind":"class","full_name":"LuckyFlow::Registry","name":"Registry","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/registry.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"available:Set(String)-class-method","name":"available","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L12"},"def":{"name":"available","return_type":"Set(String)","visibility":"Public","body":"Set.new(@@registry.keys)"}},{"html_id":"current_driver:LuckyFlow::Driver|Nil-class-method","name":"current_driver","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L3"},"def":{"name":"current_driver","return_type":"LuckyFlow::Driver | ::Nil","visibility":"Public","body":"@@current_driver"}},{"html_id":"current_driver=(current_driver:LuckyFlow::Driver|Nil)-class-method","name":"current_driver=","abstract":false,"args":[{"name":"current_driver","external_name":"current_driver","restriction":"LuckyFlow::Driver | ::Nil"}],"args_string":"(current_driver : LuckyFlow::Driver | Nil)","args_html":"(current_driver : LuckyFlow::Driver | Nil)","location":{"filename":"src/lucky_flow/registry.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L3"},"def":{"name":"current_driver=","args":[{"name":"current_driver","external_name":"current_driver","restriction":"LuckyFlow::Driver | ::Nil"}],"visibility":"Public","body":"@@current_driver = current_driver"}},{"html_id":"default_driver:String-class-method","name":"default_driver","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L2"},"def":{"name":"default_driver","return_type":"String","visibility":"Public","body":"@@default_driver"}},{"html_id":"default_driver=(default_driver:String)-class-method","name":"default_driver=","abstract":false,"args":[{"name":"default_driver","external_name":"default_driver","restriction":"String"}],"args_string":"(default_driver : String)","args_html":"(default_driver : String)","location":{"filename":"src/lucky_flow/registry.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L2"},"def":{"name":"default_driver=","args":[{"name":"default_driver","external_name":"default_driver","restriction":"String"}],"visibility":"Public","body":"@@default_driver = default_driver"}},{"html_id":"get_driver(name:String=default_driver):LuckyFlow::Driver-class-method","name":"get_driver","abstract":false,"args":[{"name":"name","default_value":"default_driver","external_name":"name","restriction":"String"}],"args_string":"(name : String = default_driver) : LuckyFlow::Driver","args_html":"(name : String = default_driver) : LuckyFlow::Driver","location":{"filename":"src/lucky_flow/registry.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L16"},"def":{"name":"get_driver","args":[{"name":"name","default_value":"default_driver","external_name":"name","restriction":"String"}],"return_type":"LuckyFlow::Driver","visibility":"Public","body":"__temp_93 = name\n@@running_registry[__temp_93]? || (@@running_registry[__temp_93] = @@registry[name].call)\n"}},{"html_id":"register(name:String|Symbol,&block:->LuckyFlow::Driver)-class-method","name":"register","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | Symbol"}],"args_string":"(name : String | Symbol, &block : -> LuckyFlow::Driver)","args_html":"(name : String | Symbol, &block : -> LuckyFlow::Driver)","location":{"filename":"src/lucky_flow/registry.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L8"},"def":{"name":"register","args":[{"name":"name","external_name":"name","restriction":"String | Symbol"}],"yields":0,"block_arity":0,"block_arg":{"name":"block","external_name":"block","restriction":"(-> LuckyFlow::Driver)"},"visibility":"Public","body":"@@registry[name.to_s] = block"}},{"html_id":"shutdown_all-class-method","name":"shutdown_all","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L20"},"def":{"name":"shutdown_all","visibility":"Public","body":"@@running_registry.values.each(&.shutdown)\n@@running_registry.clear\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Selector","path":"LuckyFlow/Selector.html","kind":"class","full_name":"LuckyFlow::Selector","name":"Selector","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selector.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selector.cr#L7"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"Returns selector or transforms it into a flow-id selector\n\nExample:\n\n Selector.new(\".some-class\").parse # => \".some-class\"\n Selector.new(\"@new-comment-button\").parse # => \"[flow-id='new-comment-button']\"","summary":"

Returns selector or transforms it into a flow-id selector

","constructors":[{"html_id":"new(raw_selector:String)-class-method","name":"new","abstract":false,"args":[{"name":"raw_selector","external_name":"raw_selector","restriction":"String"}],"args_string":"(raw_selector : String)","args_html":"(raw_selector : String)","location":{"filename":"src/lucky_flow/selector.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selector.cr#L10"},"def":{"name":"new","args":[{"name":"raw_selector","external_name":"raw_selector","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(raw_selector)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"parse-instance-method","name":"parse","abstract":false,"location":{"filename":"src/lucky_flow/selector.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selector.cr#L13"},"def":{"name":"parse","visibility":"Public","body":"if should_select_flow_id?\n flow_id_selector\nelse\n raw_selector\nend"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium","path":"LuckyFlow/Selenium.html","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/chrome/driver.cr#L1"},{"filename":"src/lucky_flow/selenium/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome","path":"LuckyFlow/Selenium/Chrome.html","kind":"module","full_name":"LuckyFlow::Selenium::Chrome","name":"Chrome","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/chrome/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"types":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome/Driver","path":"LuckyFlow/Selenium/Chrome/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Chrome::Driver","name":"Driver","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/chrome/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome","kind":"module","full_name":"LuckyFlow::Selenium::Chrome","name":"Chrome"},"constructors":[{"html_id":"new(&)-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/chrome/driver.cr#L8"},"def":{"name":"new","yields":1,"block_arity":1,"visibility":"Public","body":"_ = allocate\n_.initialize do |_arg0|\n yield _arg0\nend\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","path":"LuckyFlow/Selenium/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver","abstract":true,"superclass":{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Chrome::Driver","name":"Driver"}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":33,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L33"},"def":{"name":"accept_alert","visibility":"Public","body":"session.alert_manager.accept_alert"}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":59,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L59"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"session.cookie_manager.add_cookie(key, value)"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":55,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L55"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"session.current_url"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":37,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L37"},"def":{"name":"dismiss_alert","visibility":"Public","body":"session.alert_manager.dismiss_alert"}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":47,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L47"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"find_elements(:css, query)"}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":51,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L51"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"find_elements(:xpath, query)"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":63,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L63"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"(session.cookie_manager.get_cookie(key)).value"}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":41,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L41"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"if midpoint = element.midpoint\n session.move_to(**midpoint)\nend"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":67,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L67"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"session.document_manager.page_source"}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":25,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L25"},"def":{"name":"maximize_window","visibility":"Public","body":"session.window_manager.maximize"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":71,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L71"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@session.try do |__arg0|\n __arg0.cookie_manager.delete_all_cookies\nend"}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L29"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"session.window_manager.resize_window(width: width, height: height)"}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L11"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"FileUtils.mkdir_p(File.dirname(path))\nsession.screenshot(path)\n"}},{"html_id":"shutdown:Nil-instance-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":79,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L79"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"@session.try(&.delete)\nstop\n"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":75,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L75"},"def":{"name":"stop","visibility":"Public","body":"@driver.try(&.stop)"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L16"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"session.navigate_to(url)"}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L20"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":"result = session.window_manager.window_rect\n{width: result.width, height: result.height}\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Element","path":"LuckyFlow/Selenium/Element.html","kind":"class","full_name":"LuckyFlow::Selenium::Element","name":"Element","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"constructors":[{"html_id":"new(driver,raw_selector,inner_element:::Selenium::Element)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::Selenium::Element"}],"args_string":"(driver, raw_selector, inner_element : ::Selenium::Element)","args_html":"(driver, raw_selector, inner_element : ::Selenium::Element)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L6"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::Selenium::Element"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, raw_selector, inner_element)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L26"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@inner_element.attribute(name)"}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":22,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L22"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":"selected?"}},{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":38,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L38"},"def":{"name":"clear","visibility":"Public","body":"@inner_element.clear"}},{"html_id":"click-instance-method","name":"click","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":42,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L42"},"def":{"name":"click","visibility":"Public","body":"@inner_element.click"}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L14"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":"@inner_element.displayed?"}},{"html_id":"fill(value:Time)-instance-method","name":"fill","doc":"To set the value of date inputs correctly\nyou must put the year last\nbut it still submits the form with the date first\n...any questions?","summary":"

To set the value of date inputs correctly you must put the year last but it still submits the form with the date first ...any questions?

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"}],"args_string":"(value : Time)","args_html":"(value : Time)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L50"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"Time"}],"visibility":"Public","body":"fill(value.to_s(\"%m-%d-%Y\"))"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L70"},"def":{"name":"midpoint","return_type":"NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":"midpoint = @inner_element.rect.try(&.midpoint)\nif midpoint.nil?\n return\nend\n{x: midpoint.x, y: midpoint.y}\n"}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":30,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L30"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@inner_element.property(name)"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":58,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L58"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"select_el = ::Selenium::Helpers::Select.from_element(@inner_element)\nselect_el.select_by_value(value)\n"}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":63,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L63"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":"select_el = ::Selenium::Helpers::Select.from_element(@inner_element)\nif select_el.multiple?\nelse\n raise(LuckyFlow::InvalidMultiSelectError.new)\nend\nvalues.each do |value|\n select_el.select_by_value(value)\nend\n"}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L18"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":"@inner_element.selected?"}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":false,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":54,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L54"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":"@inner_element.send_keys(keys)"}},{"html_id":"send_keys(*args,**options)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L2"},"def":{"name":"send_keys","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@inner_element.send_keys(*args, **options)"}},{"html_id":"send_keys(*args,**options,&)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L2"},"def":{"name":"send_keys","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@inner_element.send_keys(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":34,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L34"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":"@inner_element.tag_name"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.text"}}]}]},{"html_id":"lucky_flow/LuckyFlow/Spec","path":"LuckyFlow/Spec.html","kind":"module","full_name":"LuckyFlow::Spec","name":"Spec","abstract":false,"locations":[{"filename":"src/lucky_flow/spec.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/spec.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"macros":[{"html_id":"setup-macro","name":"setup","abstract":false,"location":{"filename":"src/lucky_flow/spec.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/spec.cr#L2"},"def":{"name":"setup","visibility":"Public","body":" Spec.around_each do |spec|\n if driver_name = (spec.example._lucky_flow_all_tags & LuckyFlow::Registry.available).first?\n LuckyFlow.driver(driver_name)\n \nend\n\n spec.run\n\n LuckyFlow.reset\n LuckyFlow.use_default_driver\n \nend\n\n Spec.after_suite do\n LuckyFlow.shutdown\n \nend\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless","path":"LuckyFlow/Webless.html","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless","abstract":false,"locations":[{"filename":"src/lucky_flow/webless/browser.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Webless/Browser","path":"LuckyFlow/Webless/Browser.html","kind":"class","full_name":"LuckyFlow::Webless::Browser","name":"Browser","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/browser.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"REDIRECT_LIMIT","name":"REDIRECT_LIMIT","value":"5"}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(client:::Webless::Client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"::Webless::Client"}],"args_string":"(client : ::Webless::Client)","args_html":"(client : ::Webless::Client)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L6"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":"::Webless::Client"}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":41,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L41"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@client.cookie_jar[key] = value"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":33,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L33"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"@client.last_request_url"}},{"html_id":"find_css(query:String):Array(HTML5::Node)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(HTML5::Node)","args_html":"(query : String) : Array(HTML5::Node)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":25,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L25"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(HTML5::Node)","visibility":"Public","body":"parsed_html.css(query)"}},{"html_id":"find_xpath(query:String):Array(HTML5::Node)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(HTML5::Node)","args_html":"(query : String) : Array(HTML5::Node)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L29"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(HTML5::Node)","visibility":"Public","body":"parsed_html.xpath_nodes(query)"}},{"html_id":"follow(method:String,url:String)-instance-method","name":"follow","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String)","args_html":"(method : String, url : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L13"},"def":{"name":"follow","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@client.exec(method.upcase, url)\nhandle_redirects\n@parsed_html = nil\n"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L45"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@client.cookie_jar[key]?"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":49,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L49"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"@client.last_response.body"}},{"html_id":"reset-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":37,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L37"},"def":{"name":"reset","visibility":"Public","body":"@client.clear_cookies"}},{"html_id":"submit(request:HTTP::Request)-instance-method","name":"submit","abstract":false,"args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"args_string":"(request : HTTP::Request)","args_html":"(request : HTTP::Request)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":19,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L19"},"def":{"name":"submit","args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"visibility":"Public","body":"@client.exec(request)\nhandle_redirects\n@parsed_html = nil\n"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L9"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"follow(\"GET\", url)"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Driver","path":"LuckyFlow/Webless/Driver.html","kind":"class","full_name":"LuckyFlow::Webless::Driver","name":"Driver","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(handlers:Array(HTTP::Handler))-class-method","name":"new","abstract":false,"args":[{"name":"handlers","external_name":"handlers","restriction":"Array(HTTP::Handler)"}],"args_string":"(handlers : Array(HTTP::Handler))","args_html":"(handlers : Array(HTTP::Handler))","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L2"},"def":{"name":"new","args":[{"name":"handlers","external_name":"handlers","restriction":"Array(HTTP::Handler)"}],"visibility":"Public","body":"new(HTTP::Server.build_middleware(handlers))"}},{"html_id":"new(handler:HTTP::Handler)-class-method","name":"new","abstract":false,"args":[{"name":"handler","external_name":"handler","restriction":"HTTP::Handler"}],"args_string":"(handler : HTTP::Handler)","args_html":"(handler : HTTP::Handler)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L8"},"def":{"name":"new","args":[{"name":"handler","external_name":"handler","restriction":"HTTP::Handler"}],"visibility":"Public","body":"_ = allocate\n_.initialize(handler)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":36,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L36"},"def":{"name":"accept_alert","visibility":"Public","body":"unsupported"}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":60,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L60"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@browser.add_cookie(key, value)"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":56,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L56"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"@browser.current_url"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L40"},"def":{"name":"dismiss_alert","visibility":"Public","body":"unsupported"}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":48,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L48"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"(@browser.find_css(query)).map do |el|\n element(query, el)\nend"}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":52,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L52"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"(@browser.find_xpath(query)).map do |el|\n element(query, el)\nend"}},{"html_id":"follow(method:String,url:String)-instance-method","name":"follow","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String)","args_html":"(method : String, url : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L20"},"def":{"name":"follow","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@browser.follow(method, url)"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":64,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L64"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@browser.get_cookie(key)"}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":44,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L44"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"unsupported"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":68,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L68"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"@browser.html"}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":28,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L28"},"def":{"name":"maximize_window","visibility":"Public","body":"unsupported"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":76,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L76"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@browser.reset"}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L32"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"unsupported"}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L12"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"unsupported"}},{"html_id":"shutdown:Nil-instance-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":84,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L84"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"stop"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":80,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L80"},"def":{"name":"stop","visibility":"Public","body":""}},{"html_id":"submit(request:HTTP::Request)-instance-method","name":"submit","abstract":false,"args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"args_string":"(request : HTTP::Request)","args_html":"(request : HTTP::Request)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":72,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L72"},"def":{"name":"submit","args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"visibility":"Public","body":"@browser.submit(request)"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L16"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@browser.visit(url)"}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L24"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":"unsupported"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Element","path":"LuckyFlow/Webless/Element.html","kind":"class","full_name":"LuckyFlow::Webless::Element","name":"Element","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"VISIBILITY_XPATH","name":"VISIBILITY_XPATH","value":"\"boolean(./ancestor-or-self::*[(((./@style[(contains(., 'display:none') or contains(., 'display: none'))] or ./@hidden) or ((name(.) = 'script') or (name(.) = 'head'))) or (not(./self::summary) and ./parent::details[not(./@open)]))])\""}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(driver,raw_selector,inner_element:HTML5::Node)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::HTML5::Node"}],"args_string":"(driver, raw_selector, inner_element : HTML5::Node)","args_html":"(driver, raw_selector, inner_element : HTML5::Node)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L6"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::HTML5::Node"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, raw_selector, inner_element)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"append(value:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfield = el(\"input[name='comment']\")\nfield.fill(\"Lucky is:\")\n\nfield.append(\" So much fun!\")\n```","summary":"

Add text to the end of a field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":46,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L46"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"__temp_95 = find_or_create_attr(\"value\")\n__temp_95.val = __temp_95.val + value\n"}},{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":69,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L69"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"attr = _attribute(name)\nval = attr.try(&.val)\nif attr.nil? && (name == \"value\")\n val = \"\"\nend\nval\n"}},{"html_id":"check-instance-method","name":"check","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":174,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L174"},"def":{"name":"check","visibility":"Public","body":"if checkbox?\n set_checkbox(!checked?)\nelse\n if radio?\n set_radio\n end\nend"}},{"html_id":"checkbox?:Bool-instance-method","name":"checkbox?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":157,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L157"},"def":{"name":"checkbox?","return_type":"Bool","visibility":"Public","body":"(attribute(\"type\")) == \"checkbox\""}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":65,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L65"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":"(attribute(\"checked\")) == \"checked\""}},{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":91,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L91"},"def":{"name":"clear","visibility":"Public","body":"(_attribute(\"value\")).try(&.val = \"\")"}},{"html_id":"click-instance-method","name":"click","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L29"},"def":{"name":"click","visibility":"Public","body":"if link?\n method = (attribute(\"data-method\")) || \"get\"\n (driver.as(LuckyFlow::Webless::Driver)).follow(method, (attribute(\"href\")).to_s)\nelse\n if submits? && (f = form)\n (LuckyFlow::Webless::Form.new(f, @inner_element)).submit(driver.as(LuckyFlow::Webless::Driver))\n else\n if checkable?\n check\n end\n end\nend"}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":54,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L54"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":"if (tag_name == \"input\") && ((attribute(\"type\")) == \"hidden\")\n return false\nend\nif tag_name == \"template\"\n return false\nend\n(@driver.find_xpath(VISIBILITY_XPATH)).empty?\n"}},{"html_id":"fill(value:String)-instance-method","name":"fill","doc":"Set the text of a form field\n\n```\nfield = el(\"input[name='comment']\")\n\nfield.fill(\"Lucky is great!\")\n```","summary":"

Set the text of a form field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L40"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"if input_field? || textarea?\n set_input(value)\nend"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":115,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L115"},"def":{"name":"midpoint","return_type":"::NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":"unsupported"}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":83,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L83"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"attribute(name)"}},{"html_id":"radio?:Bool-instance-method","name":"radio?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":161,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L161"},"def":{"name":"radio?","return_type":"Bool","visibility":"Public","body":"(attribute(\"type\")) == \"radio\""}},{"html_id":"remove_attribute(name:String,element:HTML5::Node=@inner_element)-instance-method","name":"remove_attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"element","default_value":"@inner_element","external_name":"element","restriction":"HTML5::Node"}],"args_string":"(name : String, element : HTML5::Node = @inner_element)","args_html":"(name : String, element : HTML5::Node = @inner_element)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":79,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L79"},"def":{"name":"remove_attribute","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"element","default_value":"@inner_element","external_name":"element","restriction":"HTML5::Node"}],"visibility":"Public","body":"element.attr.reject! do |at|\n at.key == name\nend"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":95,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L95"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"(@inner_element.xpath_nodes(\".//option[@selected]\")).each do |node|\n remove_attribute(\"selected\", node)\nend\n(@inner_element.xpath(\".//option[@value='#{value}']\")).try do |el|\n (find_or_create_attr(\"selected\", el)).val = \"selected\"\nend\n"}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":103,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L103"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":"if multiple?\nelse\n raise(LuckyFlow::InvalidMultiSelectError.new)\nend\n(@inner_element.xpath_nodes(\".//option[@selected]\")).each do |node|\n remove_attribute(\"selected\", node)\nend\nvalues.each do |value|\n (@inner_element.xpath(\".//option[@value='#{value}']\")).try do |el|\n (find_or_create_attr(\"selected\", el)).val = \"selected\"\n end\nend\n"}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":61,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L61"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":"(attribute(\"selected\")) == \"selected\""}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":false,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L50"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":"append(keys.join)"}},{"html_id":"set_checkbox(value:Bool)-instance-method","name":"set_checkbox","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool)","args_html":"(value : Bool)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":192,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L192"},"def":{"name":"set_checkbox","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"visibility":"Public","body":"if value\n checked = find_or_create_attr(\"checked\")\n checked.val = \"checked\"\nelse\n remove_attribute(\"checked\")\nend"}},{"html_id":"set_radio-instance-method","name":"set_radio","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":182,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L182"},"def":{"name":"set_radio","visibility":"Public","body":"if name = attribute(\"name\")\n (driver.find_xpath(\"//input[(./@name = '#{name}')]\")).each do |node|\n remove_attribute(\"checked\", (node.as(LuckyFlow::Webless::Element)).inner_element)\n end\nend\nchecked = find_or_create_attr(\"checked\")\nchecked.val = \"checked\"\n"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":87,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L87"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":"@inner_element.data"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.inner_text"}},{"html_id":"value-instance-method","name":"value","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L14"},"def":{"name":"value","visibility":"Public","body":"if tag_name == \"select\"\n selected_options = @inner_element.xpath_nodes(\".//option[@selected]\")\n if multiple?\n selected_options.map do |option|\n option[\"value\"]? || option.inner_text\n end\n else\n option = selected_options.first? || (@inner_element.xpath(\".//option\"))\n if option.nil?\n raise(\"expected select to contain an option\")\n end\n option[\"value\"]?.try(&.val) || option.inner_text\n end\nelse\n attribute(\"value\")\nend"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Form","path":"LuckyFlow/Webless/Form.html","kind":"class","full_name":"LuckyFlow::Webless::Form","name":"Form","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/form.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/form.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ALL_FORM_FIELDS","name":"ALL_FORM_FIELDS","value":"\".//*[self::input | self::select | self::textarea | self::button][not(./@form)][not(./@disabled)]\""},{"id":"ALL_FORM_FIELDS_WITH_FORM_ID","name":"ALL_FORM_FIELDS_WITH_FORM_ID","value":"\".//*[self::input | self::select | self::textarea | self::button][not(./@form)][not(./@disabled)] | //*[self::input | self::select | self::textarea | self::button][(./@form = '%s')][not(./@disabled)]\""}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(form_node:HTML5::Node,submit_node:HTML5::Node)-class-method","name":"new","abstract":false,"args":[{"name":"form_node","external_name":"form_node","restriction":"::HTML5::Node"},{"name":"submit_node","external_name":"submit_node","restriction":"::HTML5::Node"}],"args_string":"(form_node : HTML5::Node, submit_node : HTML5::Node)","args_html":"(form_node : HTML5::Node, submit_node : HTML5::Node)","location":{"filename":"src/lucky_flow/webless/form.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/form.cr#L7"},"def":{"name":"new","args":[{"name":"form_node","external_name":"form_node","restriction":"::HTML5::Node"},{"name":"submit_node","external_name":"submit_node","restriction":"::HTML5::Node"}],"visibility":"Public","body":"_ = allocate\n_.initialize(form_node, submit_node)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"submit(driver:LuckyFlow::Webless::Driver)-instance-method","name":"submit","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Webless::Driver"}],"args_string":"(driver : LuckyFlow::Webless::Driver)","args_html":"(driver : LuckyFlow::Webless::Driver)","location":{"filename":"src/lucky_flow/webless/form.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/form.cr#L10"},"def":{"name":"submit","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Webless::Driver"}],"visibility":"Public","body":"form_field_xpath = if (id_attr = @form_node[\"id\"]?) && (!id_attr.val.blank?)\n ALL_FORM_FIELDS_WITH_FORM_ID % id_attr.val\nelse\n ALL_FORM_FIELDS\nend\nform_field_nodes = @form_node.xpath_nodes(form_field_xpath)\nform_field_nodes.reject! do |node|\n (submitter?(node)) && (node != submit_node)\nend\nform_values = form_field_nodes.compact_map do |form_field_node|\n case form_field_node.data\n when \"input\"\n parse_input_field(form_field_node)\n when \"textarea\"\n parse_textarea_field(form_field_node)\n when \"select\"\n parse_select_field(form_field_node)\n end\nend.to_h\nrequest_method = @form_node[\"method\"]?.try(&.val) == \"post\" ? :post : :get\nrequest_path = @submit_node[\"formaction\"]?.try() do |__arg1|\n __arg1.val.presence\nend || @form_node[\"action\"].val\nrequest = (((::Webless::RequestBuilder.new.method(request_method)).path(request_path)).form(form_values, multipart?)).build\ndriver.submit(request)\n"}}]}]}]},{"html_id":"lucky_flow/Spec","path":"Spec.html","kind":"module","full_name":"Spec","name":"Spec","abstract":false,"locations":[{"filename":"src/ext/spec/item.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/spec/item.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"lucky_flow/Spec/Item","path":"Spec/Item.html","kind":"module","full_name":"Spec::Item","name":"Item","abstract":false,"locations":[{"filename":"src/ext/spec/item.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/spec/item.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/Spec","kind":"module","full_name":"Spec","name":"Spec"}}]}]}} \ No newline at end of file diff --git a/search-index.js b/search-index.js index a9e0538..0d97ec2 100644 --- a/search-index.js +++ b/search-index.js @@ -1 +1 @@ -crystal_doc_search_index_callback({"repository_name":"lucky_flow","body":"# LuckyFlow\n\n[![API Documentation Website](https://img.shields.io/website?down_color=red&down_message=Offline&label=API%20Documentation&up_message=Online&url=https%3A%2F%2Fluckyframework.github.io%2Flucky_flow%2F)](https://luckyframework.github.io/lucky_flow)\n\nLuckyFlow is a library for testing user flows in the browser. It is similar to\nRuby's Capybara.\n\n![LuckyFlow example](https://user-images.githubusercontent.com/22394/40257158-1a2f30b8-5abb-11e8-90c2-94463638e65d.png)\n\n## Installation in [Lucky](https://luckyframework.org) projects\n\nLuckyFlow is already installed and configured. Check out the guides\nto see how to use it: https://luckyframework.org/guides/browser-tests/\n\n## Installation in other Crystal projects\n\nAdd this to your application's `shard.yml`:\n\n```yaml\ndevelopment_dependencies:\n lucky_flow:\n github: luckyframework/lucky_flow\n```\n\nConfigure LuckyFlow in `spec/spec_helper.cr`:\n\n```crystal\nrequire \"lucky_flow\"\n\nLuckyFlow.configure do |settings|\n # This is required\n settings.base_uri = \"http://localhost:\"\n\n # Optional settings. Defaults are shown here\n settings.retry_delay = 10.milliseconds\n settings.stop_retrying_after = 1.second\n settings.screenshot_directory = \"./tmp/screenshots\"\n settings.browser_binary = \"/Applications/Brave Browser.app/Contents/MacOS/Brave Browser\"\nend\n\n# Put this at the bottom of the file.\n# If a required setting is missing, this will catch it.\nHabitat.raise_if_missing_settings!\n```\n\nThen view the guides: https://luckyframework.org/guides/browser-tests/\n\nYou should be ready to go!\n\nFor use with some of the Lucky shards (including Lucky itself), you'll need\nto require a few extensions:\n\n```crystal\n# This extension adds an override to `visit` allowing you\n# to pass in a Lucky::Action.class or Lucky::RouteHelper\nrequire \"lucky_flow/ext/lucky\"\n\n# This extension adds a `fill_form` method that you can pass\n# an Operation or SaveOperation to which will populate form\n# fields for you\nrequire \"lucky_flow/ext/avram\"\n\n# Similar to the Lucky extension, this gives an additional override\n# to `visit` that allows you to visit a page as a specific User\nrequire \"lucky_flow/ext/authentic\"\n```\n\n## Usage\n\n> Note that you can only pass string paths to `visit` since only Lucky has\n> route helpers described in the guide below. Example: `visit \"/my-path\"`\n\nView guide at: https://luckyframework.org/guides/browser-tests/\n\n## Contributing\n\n1. Fork it ( https://github.com/luckyframework/lucky_flow/fork )\n1. Create your feature branch (git checkout -b my-new-feature)\n1. Install docker and docker-compose: https://docs.docker.com/compose/install/\n1. Run `script/setup`\n1. Make your changes\n1. Run `script/test` to run the specs, build shards, and check formatting\n1. Commit your changes (git commit -am 'Add some feature')\n1. Push to the branch (git push origin my-new-feature)\n1. Create a new Pull Request\n\n## Contributors\n\n- [paulcsmith](https://github.com/paulcsmith) Paul Smith - creator, maintainer\n","program":{"html_id":"lucky_flow/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"locations":[],"repository_name":"lucky_flow","program":true,"enum":false,"alias":false,"const":false,"types":[{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","path":"AuthenticLuckyFlowHelpers.html","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/authentic.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Authentic](https://github.com/luckyframework/authentic)\nrequired, you can require this file for some additional helpers","summary":"

If you have Authentic required, you can require this file for some additional helpers

","instance_methods":[{"html_id":"visit(action:Lucky::Action.class,asuser:User)-instance-method","name":"visit","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"},{"name":"user","external_name":"as","restriction":"User"}],"args_string":"(action : Lucky::Action.class, as user : User)","args_html":"(action : Lucky::Action.class, as user : User)","location":{"filename":"src/ext/authentic.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L4"},"def":{"name":"visit","args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"},{"name":"user","external_name":"as","restriction":"User"}],"visibility":"Public","body":"visit(action.route, as: user)"}},{"html_id":"visit(route_helper:Lucky::RouteHelper,asuser:User)-instance-method","name":"visit","abstract":false,"args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"},{"name":"user","external_name":"as","restriction":"User"}],"args_string":"(route_helper : Lucky::RouteHelper, as user : User)","args_html":"(route_helper : Lucky::RouteHelper, as user : User)","location":{"filename":"src/ext/authentic.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L8"},"def":{"name":"visit","args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"},{"name":"user","external_name":"as","restriction":"User"}],"visibility":"Public","body":"url = route_helper.url\nuri = URI.parse(url)\nif uri.query\n url = url + \"&backdoor_user_id=#{user.id}\"\nelse\n if uri.query.nil?\n url = url + \"?backdoor_user_id=#{user.id}\"\n end\nend\ndriver.visit(url)\n"}}]},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","path":"AvramLuckyFlowHelpers.html","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/avram.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/avram.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Avram](https://github.com/luckyframework/avram)\nrequired, you can require this file for some additional helpers","summary":"

If you have Avram required, you can require this file for some additional helpers

","instance_methods":[{"html_id":"fill_form(form:Avram::SaveOperation.class|Avram::Operation.class,**fields_and_values)-instance-method","name":"fill_form","doc":"Fill a form created by Lucky that uses an Avram::SaveOperation\n\nNote that Lucky and Avram are required to use this method\n\n```\nfill_form QuestionForm,\n title: \"Hello there!\",\n body: \"Just wondering what day it is\"\n```","summary":"

Fill a form created by Lucky that uses an Avram::SaveOperation

","abstract":false,"args":[{"name":"form","external_name":"form","restriction":"Avram::SaveOperation.class | Avram::Operation.class"}],"args_string":"(form : Avram::SaveOperation.class | Avram::Operation.class, **fields_and_values)","args_html":"(form : Avram::SaveOperation.class | Avram::Operation.class, **fields_and_values)","location":{"filename":"src/ext/avram.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/avram.cr#L13"},"def":{"name":"fill_form","args":[{"name":"form","external_name":"form","restriction":"Avram::SaveOperation.class | Avram::Operation.class"}],"double_splat":{"name":"fields_and_values","external_name":"fields_and_values","restriction":""},"visibility":"Public","body":"fields_and_values.each do |name, value|\n element = field(\"#{form.param_key}:#{name}\")\n if element.tag_name == \"select\"\n self.select(element, value.to_s)\n else\n self.fill(element, with: value)\n end\nend"}}]},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","path":"LuckyActionLuckyFlowHelpers.html","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/lucky.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Lucky](https://github.com/luckyframework/lucky)\nrequired, you can require this file for some additional helpers","summary":"

If you have Lucky required, you can require this file for some additional helpers

","instance_methods":[{"html_id":"visit(action:Lucky::Action.class)-instance-method","name":"visit","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"}],"args_string":"(action : Lucky::Action.class)","args_html":"(action : Lucky::Action.class)","location":{"filename":"src/ext/lucky.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L4"},"def":{"name":"visit","args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"}],"visibility":"Public","body":"visit(action.route)"}},{"html_id":"visit(route_helper:Lucky::RouteHelper)-instance-method","name":"visit","abstract":false,"args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"}],"args_string":"(route_helper : Lucky::RouteHelper)","args_html":"(route_helper : Lucky::RouteHelper)","location":{"filename":"src/ext/lucky.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L8"},"def":{"name":"visit","args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"}],"visibility":"Public","body":"url = route_helper.url\ndriver.visit(url)\n"}}]},{"html_id":"lucky_flow/LuckyFlow","path":"LuckyFlow.html","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ext/authentic.cr","line_number":23,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L23"},{"filename":"src/ext/avram.cr","line_number":31,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/avram.cr#L31"},{"filename":"src/ext/lucky.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L17"},{"filename":"src/lucky_flow.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L7"},{"filename":"src/lucky_flow.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L13"},{"filename":"src/lucky_flow/errors.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L1"},{"filename":"src/lucky_flow/expectations.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations.cr#L3"},{"filename":"src/lucky_flow/version.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/version.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"HABITAT_SETTINGS","name":"HABITAT_SETTINGS","value":"[{decl: screenshot_directory : String = \"./tmp/screenshots\", example: nil, validation: nil}, {decl: base_uri : String, example: nil, validation: nil}, {decl: retry_delay : Time::Span = 10.milliseconds, example: nil, validation: nil}, {decl: stop_retrying_after : Time::Span = 1.second, example: nil, validation: nil}, {decl: driver_path : String | ::Nil, example: nil, validation: nil}] of Nil"},{"id":"VERSION","name":"VERSION","value":"\"0.9.1\""}],"included_modules":[{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"}],"doc":"```\nrequire \"lucky_flow/ext/lucky\"\n```","summary":"

require "lucky_flow/ext/lucky"

","class_methods":[{"html_id":"configure(&)-class-method","name":"configure","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L16"},"def":{"name":"configure","yields":1,"block_arity":1,"visibility":"Public","body":"yield settings"}},{"html_id":"default_driver=(value:String)-class-method","name":"default_driver=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L24"},"def":{"name":"default_driver=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"LuckyFlow::Registry.default_driver = value"}},{"html_id":"driver(name:String):LuckyFlow::Driver-class-method","name":"driver","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : LuckyFlow::Driver","args_html":"(name : String) : LuckyFlow::Driver","location":{"filename":"src/lucky_flow.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L32"},"def":{"name":"driver","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"LuckyFlow::Driver","visibility":"Public","body":"LuckyFlow::Registry.current_driver = LuckyFlow::Registry.get_driver(name)"}},{"html_id":"driver:LuckyFlow::Driver-class-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":28,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L28"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"__temp_49 = LuckyFlow::Registry\n__temp_49.current_driver || (__temp_49.current_driver = LuckyFlow::Registry.get_driver)\n"}},{"html_id":"reset:Nil-class-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":44,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L44"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"LuckyFlow::Registry.current_driver.try(&.reset)"}},{"html_id":"settings-class-method","name":"settings","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L16"},"def":{"name":"settings","visibility":"Public","body":"HabitatSettings"}},{"html_id":"shutdown:Nil-class-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":36,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L36"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"LuckyFlow::Registry.shutdown_all"}},{"html_id":"use_default_driver-class-method","name":"use_default_driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L40"},"def":{"name":"use_default_driver","visibility":"Public","body":"LuckyFlow::Registry.current_driver = nil"}}],"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":162,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L162"},"def":{"name":"accept_alert","visibility":"Public","body":"driver.accept_alert"}},{"html_id":"append(name_attr:String,withvalue:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfill(\"comment:body\", with: \"Lucky is:\")\n\nappend(\"comment:body\", \" So much fun!\")\n```","summary":"

Add text to the end of a field

","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":"String"}],"args_string":"(name_attr : String, with value : String)","args_html":"(name_attr : String, with value : String)","location":{"filename":"src/lucky_flow.cr","line_number":112,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L112"},"def":{"name":"append","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":"String"}],"visibility":"Public","body":"(field(name_attr)).append(value)"}},{"html_id":"click(css_selector:String)-instance-method","name":"click","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"args_string":"(css_selector : String)","args_html":"(css_selector : String)","location":{"filename":"src/lucky_flow.cr","line_number":88,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L88"},"def":{"name":"click","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"visibility":"Public","body":"(el(css_selector)).click"}},{"html_id":"current_path-instance-method","name":"current_path","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":157,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L157"},"def":{"name":"current_path","visibility":"Public","body":"url = driver.current_url\n(URI.parse(url)).path\n"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":166,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L166"},"def":{"name":"dismiss_alert","visibility":"Public","body":"driver.dismiss_alert"}},{"html_id":"driver:LuckyFlow::Driver-instance-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":175,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L175"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"self.class.driver"}},{"html_id":"el(css_selector:String,text:String):LuckyFlow::Element-instance-method","name":"el","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(css_selector : String, text : String) : LuckyFlow::Element","args_html":"(css_selector : String, text : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":141,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L141"},"def":{"name":"el","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"LuckyFlow::FindElement.run(driver, css_selector, text)"}},{"html_id":"el(css_selector:String):LuckyFlow::Element-instance-method","name":"el","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"args_string":"(css_selector : String) : LuckyFlow::Element","args_html":"(css_selector : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":145,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L145"},"def":{"name":"el","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"LuckyFlow::FindElement.run(driver, css_selector)"}},{"html_id":"expand_page_to_fullsize-instance-method","name":"expand_page_to_fullsize","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L70"},"def":{"name":"expand_page_to_fullsize","visibility":"Public","body":"driver.maximize_window"}},{"html_id":"field(name_attr:String):LuckyFlow::Element-instance-method","name":"field","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"}],"args_string":"(name_attr : String) : LuckyFlow::Element","args_html":"(name_attr : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":149,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L149"},"def":{"name":"field","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"el(\"[name='#{name_attr}']\")"}},{"html_id":"fill(name_attr:String,withvalue)-instance-method","name":"fill","doc":"Set the text of a form field, clearing any existing text\n\n```\nfill(\"comment:body\", with: \"Lucky is great!\")\n```","summary":"

Set the text of a form field, clearing any existing text

","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":""}],"args_string":"(name_attr : String, with value)","args_html":"(name_attr : String, with value)","location":{"filename":"src/lucky_flow.cr","line_number":97,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L97"},"def":{"name":"fill","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":""}],"visibility":"Public","body":"fill(field(name_attr), with: value)"}},{"html_id":"fill(element:Element,withvalue)-instance-method","name":"fill","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"with","restriction":""}],"args_string":"(element : Element, with value)","args_html":"(element : Element, with value)","location":{"filename":"src/lucky_flow.cr","line_number":101,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L101"},"def":{"name":"fill","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"with","restriction":""}],"visibility":"Public","body":"element.fill(value)"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":153,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L153"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"driver.html"}},{"html_id":"open_screenshot(process=Process,time=Time.utc,fullsize=false):Void-instance-method","name":"open_screenshot","abstract":false,"args":[{"name":"process","default_value":"Process","external_name":"process","restriction":""},{"name":"time","default_value":"Time.utc","external_name":"time","restriction":""},{"name":"fullsize","default_value":"false","external_name":"fullsize","restriction":""}],"args_string":"(process = Process, time = Time.utc, fullsize = false) : Void","args_html":"(process = Process, time = Time.utc, fullsize = false) : Void","location":{"filename":"src/lucky_flow.cr","line_number":52,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L52"},"def":{"name":"open_screenshot","args":[{"name":"process","default_value":"Process","external_name":"process","restriction":""},{"name":"time","default_value":"Time.utc","external_name":"time","restriction":""},{"name":"fullsize","default_value":"false","external_name":"fullsize","restriction":""}],"return_type":"Void","visibility":"Public","body":"filename = generate_screenshot_filename(time)\ntake_screenshot(filename, fullsize)\nprocess.new(command: \"#{open_command(process)} #{filename}\", shell: true)\n"}},{"html_id":"pause-instance-method","name":"pause","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":170,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L170"},"def":{"name":"pause","visibility":"Public","body":"puts(\"\\nPausing to debug... (press enter to continue)\")\nSTDIN.gets\n"}},{"html_id":"select(name_attr:String,value:Array(String)|String)-instance-method","name":"select","doc":"Select an option from a select element\n\n```\nselect(\"post:category\", value: \"rant\")\n```\n\nIf given an Array(String), the select is assumed to have the 'multiple' attribute\nand will raise a `LuckyFlow::InvalidMultiSelectError` if it doesn't.\n\n```\nselect(\"post:tags\", value: [\"rant\", \"technology\"])\n```\n","summary":"

Select an option from a select element

","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"value","restriction":"Array(String) | String"}],"args_string":"(name_attr : String, value : Array(String) | String)","args_html":"(name_attr : String, value : Array(String) | String)","location":{"filename":"src/lucky_flow.cr","line_number":129,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L129"},"def":{"name":"select","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"value","restriction":"Array(String) | String"}],"visibility":"Public","body":"self.select(field(name_attr), value: value)"}},{"html_id":"select(element:Element,value:String)-instance-method","name":"select","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(element : Element, value : String)","args_html":"(element : Element, value : String)","location":{"filename":"src/lucky_flow.cr","line_number":133,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L133"},"def":{"name":"select","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"element.select_option(value)"}},{"html_id":"select(element:Element,value:Array(String))-instance-method","name":"select","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"Array(String)"}],"args_string":"(element : Element, value : Array(String))","args_html":"(element : Element, value : Array(String))","location":{"filename":"src/lucky_flow.cr","line_number":137,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L137"},"def":{"name":"select","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"Array(String)"}],"visibility":"Public","body":"element.select_options(value)"}},{"html_id":"settings-instance-method","name":"settings","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L16"},"def":{"name":"settings","visibility":"Public","body":"HabitatSettings"}},{"html_id":"take_screenshot(filename:String=generate_screenshot_filename,fullsize:Bool=true)-instance-method","name":"take_screenshot","abstract":false,"args":[{"name":"filename","default_value":"generate_screenshot_filename","external_name":"filename","restriction":"String"},{"name":"fullsize","default_value":"true","external_name":"fullsize","restriction":"Bool"}],"args_string":"(filename : String = generate_screenshot_filename, fullsize : Bool = true)","args_html":"(filename : String = generate_screenshot_filename, fullsize : Bool = true)","location":{"filename":"src/lucky_flow.cr","line_number":58,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L58"},"def":{"name":"take_screenshot","args":[{"name":"filename","default_value":"generate_screenshot_filename","external_name":"filename","restriction":"String"},{"name":"fullsize","default_value":"true","external_name":"fullsize","restriction":"Bool"}],"visibility":"Public","body":"if fullsize\n with_fullsized_page do\n driver.screenshot(filename)\n end\nelse\n driver.screenshot(filename)\nend"}},{"html_id":"visit(path:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow.cr","line_number":48,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L48"},"def":{"name":"visit","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"driver.visit(\"#{settings.base_uri}#{path}\")"}},{"html_id":"with_fullsized_page(&)-instance-method","name":"with_fullsized_page","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":74,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L74"},"def":{"name":"with_fullsized_page","yields":0,"block_arity":0,"visibility":"Public","body":"begin\n original_size = driver.window_size\n expand_page_to_fullsize\n yield\nensure\n if original_size\n driver.resize_window(**original_size)\n end\nend"}}],"types":[{"html_id":"lucky_flow/LuckyFlow/Driver","path":"LuckyFlow/Driver.html","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver","abstract":true,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},{"html_id":"lucky_flow/LuckyFlow/Webless/Driver","kind":"class","full_name":"LuckyFlow::Webless::Driver","name":"Driver"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L10"},"def":{"name":"accept_alert","visibility":"Public","body":""}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":true,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L16"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L15"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":""}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L11"},"def":{"name":"dismiss_alert","visibility":"Public","body":""}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":true,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L13"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":""}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":true,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L14"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":""}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":true,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/driver.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L17"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":true,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L12"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":""}},{"html_id":"html:String-instance-method","name":"html","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L18"},"def":{"name":"html","return_type":"String","visibility":"Public","body":""}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L8"},"def":{"name":"maximize_window","visibility":"Public","body":""}},{"html_id":"reset-instance-method","name":"reset","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L3"},"def":{"name":"reset","visibility":"Public","body":""}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":true,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/driver.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L9"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":""}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":true,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L5"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"shutdown-instance-method","name":"shutdown","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L4"},"def":{"name":"shutdown","visibility":"Public","body":""}},{"html_id":"stop-instance-method","name":"stop","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L2"},"def":{"name":"stop","visibility":"Public","body":""}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":true,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L6"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L7"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":""}}],"macros":[{"html_id":"unsupported-macro","name":"unsupported","abstract":false,"location":{"filename":"src/lucky_flow/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L20"},"def":{"name":"unsupported","visibility":"Public","body":" method_name = \n\\{\n{ @def.name.stringify }}\n raise NotSupportedByDriverError.new(\"#{self.class}##{method_name}\")\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/DriverInstallationError","path":"LuckyFlow/DriverInstallationError.html","kind":"class","full_name":"LuckyFlow::DriverInstallationError","name":"DriverInstallationError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L26"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new(error:Exception)-class-method","name":"new","abstract":false,"args":[{"name":"error","external_name":"error","restriction":"Exception"}],"args_string":"(error : Exception)","args_html":"(error : Exception)","location":{"filename":"src/lucky_flow/errors.cr","line_number":27,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L27"},"def":{"name":"new","args":[{"name":"error","external_name":"error","restriction":"Exception"}],"visibility":"Public","body":"_ = allocate\n_.initialize(error)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Element","path":"LuckyFlow/Element.html","kind":"class","full_name":"LuckyFlow::Element","name":"Element","abstract":true,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Element","kind":"class","full_name":"LuckyFlow::Selenium::Element","name":"Element"},{"html_id":"lucky_flow/LuckyFlow/Webless/Element","kind":"class","full_name":"LuckyFlow::Webless::Element","name":"Element"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"instance_methods":[{"html_id":"append(value:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfield = el(\"input[name='comment']\")\nfield.fill(\"Lucky is:\")\n\nfield.append(\" So much fun!\")\n```","summary":"

Add text to the end of a field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":62,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L62"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"send_keys(value)"}},{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":true,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L11"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"attribute(name:Symbol):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : String | Nil","args_html":"(name : Symbol) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":30,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L30"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"String | ::Nil","visibility":"Public","body":"attribute(name.to_s)"}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L10"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"clear-instance-method","name":"clear","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L14"},"def":{"name":"clear","visibility":"Public","body":""}},{"html_id":"click-instance-method","name":"click","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L6"},"def":{"name":"click","visibility":"Public","body":""}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L8"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"driver:LuckyFlow::Driver-instance-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L2"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"@driver"}},{"html_id":"fill(value:String)-instance-method","name":"fill","doc":"Set the text of a form field\n\n```\nfield = el(\"input[name='comment']\")\n\nfield.fill(\"Lucky is great!\")\n```","summary":"

Set the text of a form field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L45"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"clear\nsend_keys(value)\n"}},{"html_id":"fill(value:Time)-instance-method","name":"fill","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"}],"args_string":"(value : Time)","args_html":"(value : Time)","location":{"filename":"src/lucky_flow/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L50"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"Time"}],"visibility":"Public","body":"fill(value.to_s(\"%Y-%m-%d\"))"}},{"html_id":"hover-instance-method","name":"hover","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L70"},"def":{"name":"hover","visibility":"Public","body":"driver.hover(self)"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L17"},"def":{"name":"midpoint","return_type":"::NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":""}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":true,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L12"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"property(name:Symbol):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : String | Nil","args_html":"(name : Symbol) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":34,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L34"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"String | ::Nil","visibility":"Public","body":"property(name.to_s)"}},{"html_id":"raw_selector:String-instance-method","name":"raw_selector","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L3"},"def":{"name":"raw_selector","return_type":"String","visibility":"Public","body":"@raw_selector"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":true,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L15"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":true,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/element.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L16"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":""}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L9"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"selector:String-instance-method","name":"selector","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":66,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L66"},"def":{"name":"selector","return_type":"String","visibility":"Public","body":"(Selector.new(raw_selector)).parse"}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":true,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/element.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L7"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":""}},{"html_id":"send_keys(key:String)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L26"},"def":{"name":"send_keys","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"send_keys([key])"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L13"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":""}},{"html_id":"text:String-instance-method","name":"text","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L5"},"def":{"name":"text","return_type":"String","visibility":"Public","body":""}},{"html_id":"value-instance-method","name":"value","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":22,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L22"},"def":{"name":"value","visibility":"Public","body":"property(\"value\")"}}],"macros":[{"html_id":"unsupported-macro","name":"unsupported","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":74,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L74"},"def":{"name":"unsupported","visibility":"Public","body":" method_name = \n\\{\n{ @def.name.stringify }}\n raise NotSupportedByElementError.new(\"#{self.class}##{method_name}\")\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/ElementNotFoundError","path":"LuckyFlow/ElementNotFoundError.html","kind":"class","full_name":"LuckyFlow::ElementNotFoundError","name":"ElementNotFoundError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L14"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector:String,inner_text:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"}],"args_string":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil)","args_html":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil)","location":{"filename":"src/lucky_flow/errors.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L15"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Error","path":"LuckyFlow/Error.html","kind":"class","full_name":"LuckyFlow::Error","name":"Error","abstract":false,"superclass":{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L5"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/DriverInstallationError","kind":"class","full_name":"LuckyFlow::DriverInstallationError","name":"DriverInstallationError"},{"html_id":"lucky_flow/LuckyFlow/ElementNotFoundError","kind":"class","full_name":"LuckyFlow::ElementNotFoundError","name":"ElementNotFoundError"},{"html_id":"lucky_flow/LuckyFlow/InfiniteRedirectError","kind":"class","full_name":"LuckyFlow::InfiniteRedirectError","name":"InfiniteRedirectError"},{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByDriverError","kind":"class","full_name":"LuckyFlow::NotSupportedByDriverError","name":"NotSupportedByDriverError"},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByElementError","kind":"class","full_name":"LuckyFlow::NotSupportedByElementError","name":"NotSupportedByElementError"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"= LuckyFlow Errors\n\nGeneric LuckyFlow exception class.","summary":"

= LuckyFlow Errors

"},{"html_id":"lucky_flow/LuckyFlow/ErrorMessageWhenNotFound","path":"LuckyFlow/ErrorMessageWhenNotFound.html","kind":"class","full_name":"LuckyFlow::ErrorMessageWhenNotFound","name":"ErrorMessageWhenNotFound","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"build(*args,**named_args)-class-method","name":"build","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **named_args)","args_html":"(*args, **named_args)","location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L6"},"def":{"name":"build","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"named_args","external_name":"named_args","restriction":""},"splat_index":0,"visibility":"Public","body":"(new(*args, **named_args)).build"}}],"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector:String,inner_text:String|Nil,negate:Bool=false)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"},{"name":"negate","default_value":"false","external_name":"negate","restriction":"Bool"}],"args_string":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil, negate : Bool = false)","args_html":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil, negate : Bool = false)","location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L10"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"},{"name":"negate","default_value":"false","external_name":"negate","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text, negate)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"build-instance-method","name":"build","abstract":false,"location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L18"},"def":{"name":"build","visibility":"Public","body":"String.build do |message|\n message << \"Expected \"\n if negate\n message << \"not \"\n end\n message << \"to find element on page, but it was \"\n if negate\n else\n message << \"not \"\n end\n message << \"found.\"\n message << \"\\n\\n â–¸ looking for: #{selector}\"\n if !inner_text.empty?\n message << \"\\n â–¸ with text: #{inner_text}\"\n end\n if (similar_flow_id && inner_text.empty?) && (!negate)\n message << \"\\n\\n\"\n message << \" Did you mean...\"\n message << \"\\n\\n â–¸ \"\n message << \"'@#{similar_flow_id}'\\n\"\n end\nend"}},{"html_id":"inner_text-instance-method","name":"inner_text","abstract":false,"location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L40"},"def":{"name":"inner_text","visibility":"Public","body":"(@inner_text || \"\")"}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations","path":"LuckyFlow/Expectations.html","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations","abstract":false,"locations":[{"filename":"src/lucky_flow/expectations.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations.cr#L4"},{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveCurrentPathExpectation","path":"LuckyFlow/Expectations/HaveCurrentPathExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveCurrentPathExpectation","name":"HaveCurrentPathExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(expected_path:String)-class-method","name":"new","abstract":false,"args":[{"name":"expected_path","external_name":"expected_path","restriction":"String"}],"args_string":"(expected_path : String)","args_html":"(expected_path : String)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L2"},"def":{"name":"new","args":[{"name":"expected_path","external_name":"expected_path","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expected_path)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(flow)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":""}],"args_string":"(flow)","args_html":"(flow)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L9"},"def":{"name":"failure_message","args":[{"name":"flow","external_name":"flow","restriction":""}],"visibility":"Public","body":"\"Expected current path to be: #{@expected_path}\\n actual: #{flow.current_path}\""}},{"html_id":"match(flow:LuckyFlow):Bool-instance-method","name":"match","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow) : Bool","args_html":"(flow : LuckyFlow) : Bool","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L5"},"def":{"name":"match","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"return_type":"Bool","visibility":"Public","body":"flow.current_path == @expected_path"}},{"html_id":"negative_failure_message(_flow)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"_flow","external_name":"_flow","restriction":""}],"args_string":"(_flow)","args_html":"(_flow)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L16"},"def":{"name":"negative_failure_message","args":[{"name":"_flow","external_name":"_flow","restriction":""}],"visibility":"Public","body":"\"Expected current path not to be: #{@expected_path}\""}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveElementExpectation","path":"LuckyFlow/Expectations/HaveElementExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveElementExpectation","name":"HaveElementExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(css_selector:String,text:String|Nil,visible:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String | ::Nil"},{"name":"visible","external_name":"visible","restriction":"Bool"}],"args_string":"(css_selector : String, text : String | Nil, visible : Bool)","args_html":"(css_selector : String, text : String | Nil, visible : Bool)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L4"},"def":{"name":"new","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String | ::Nil"},{"name":"visible","external_name":"visible","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(css_selector, text, visible)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(flow:LuckyFlow)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow)","args_html":"(flow : LuckyFlow)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L24"},"def":{"name":"failure_message","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"visibility":"Public","body":"LuckyFlow::ErrorMessageWhenNotFound.build(flow.driver, @css_selector, @text)"}},{"html_id":"match(flow:LuckyFlow):Bool-instance-method","name":"match","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow) : Bool","args_html":"(flow : LuckyFlow) : Bool","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L8"},"def":{"name":"match","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"return_type":"Bool","visibility":"Public","body":"begin\n element = if text = @text\n flow.el(@css_selector, text)\n else\n flow.el(@css_selector)\n end\n if @visible\n element.displayed?\n else\n true\n end\nrescue LuckyFlow::ElementNotFoundError\n false\nend"}},{"html_id":"negative_failure_message(flow:LuckyFlow)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow)","args_html":"(flow : LuckyFlow)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L32"},"def":{"name":"negative_failure_message","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"visibility":"Public","body":"LuckyFlow::ErrorMessageWhenNotFound.build(flow.driver, @css_selector, @text, negate: true)"}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveTextExpectation","path":"LuckyFlow/Expectations/HaveTextExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveTextExpectation","name":"HaveTextExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(expected_value:String)-class-method","name":"new","abstract":false,"args":[{"name":"expected_value","external_name":"expected_value","restriction":"String"}],"args_string":"(expected_value : String)","args_html":"(expected_value : String)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L2"},"def":{"name":"new","args":[{"name":"expected_value","external_name":"expected_value","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expected_value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(element:LuckyFlow::Element)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L9"},"def":{"name":"failure_message","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"\"Expected element to have text: #{@expected_value}\\n actual: #{element.text}\""}},{"html_id":"match(element:LuckyFlow::Element)-instance-method","name":"match","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L5"},"def":{"name":"match","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"element.text.includes?(@expected_value)"}},{"html_id":"negative_failure_message(element:LuckyFlow::Element)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L16"},"def":{"name":"negative_failure_message","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"\"Expected element not to have text: #{@expected_value}\""}}]}]},{"html_id":"lucky_flow/LuckyFlow/FindElement","path":"LuckyFlow/FindElement.html","kind":"class","full_name":"LuckyFlow::FindElement","name":"FindElement","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/find_element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"Find element on a page with a retry","summary":"

Find element on a page with a retry

","class_methods":[{"html_id":"run(*args,**named_args):LuckyFlow::Element-class-method","name":"run","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **named_args) : LuckyFlow::Element","args_html":"(*args, **named_args) : LuckyFlow::Element","location":{"filename":"src/lucky_flow/find_element.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L12"},"def":{"name":"run","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"named_args","external_name":"named_args","restriction":""},"splat_index":0,"return_type":"LuckyFlow::Element","visibility":"Public","body":"(new(*args, **named_args)).run"}}],"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector,textinner_text:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"::LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":""},{"name":"inner_text","default_value":"nil","external_name":"text","restriction":"::Nil | ::String"}],"args_string":"(driver : LuckyFlow::Driver, selector, text inner_text : Nil | String = nil)","args_html":"(driver : LuckyFlow::Driver, selector, text inner_text : Nil | String = nil)","location":{"filename":"src/lucky_flow/find_element.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L8"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"::LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":""},{"name":"inner_text","default_value":"nil","external_name":"text","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"run:LuckyFlow::Element-instance-method","name":"run","abstract":false,"location":{"filename":"src/lucky_flow/find_element.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L16"},"def":{"name":"run","return_type":"LuckyFlow::Element","visibility":"Public","body":"loop do\n matching_elements = find_matching_elements\n if matching_elements.first?\n return matching_elements.first\n end\n if has_retries_left?\n else\n break\n end\n sleep(retry_delay_in_ms)\nend\nraise_element_not_found_error\n"}}]},{"html_id":"lucky_flow/LuckyFlow/HabitatSettings","path":"LuckyFlow/HabitatSettings.html","kind":"class","full_name":"LuckyFlow::HabitatSettings","name":"HabitatSettings","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L16"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"base_uri:String-class-method","name":"base_uri","abstract":false,"def":{"name":"base_uri","return_type":"String","visibility":"Public","body":"@@base_uri.not_nil!"}},{"html_id":"base_uri=(value:String)-class-method","name":"base_uri=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","def":{"name":"base_uri=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@@base_uri = value"}},{"html_id":"base_uri?-class-method","name":"base_uri?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use base_uri in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use base_uri in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"base_uri?","visibility":"Public","body":"@@base_uri"}},{"html_id":"driver_path:String|Nil-class-method","name":"driver_path","abstract":false,"def":{"name":"driver_path","return_type":"String | ::Nil","visibility":"Public","body":"@@driver_path"}},{"html_id":"driver_path=(value:String|Nil)-class-method","name":"driver_path=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String | ::Nil"}],"args_string":"(value : String | Nil)","args_html":"(value : String | Nil)","def":{"name":"driver_path=","args":[{"name":"value","external_name":"value","restriction":"String | ::Nil"}],"visibility":"Public","body":"@@driver_path = value"}},{"html_id":"driver_path?-class-method","name":"driver_path?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use driver_path in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use driver_path in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"driver_path?","visibility":"Public","body":"@@driver_path"}},{"html_id":"retry_delay:Time::Span-class-method","name":"retry_delay","abstract":false,"def":{"name":"retry_delay","return_type":"Time::Span","visibility":"Public","body":"@@retry_delay.not_nil!"}},{"html_id":"retry_delay=(value:Time::Span)-class-method","name":"retry_delay=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"args_string":"(value : Time::Span)","args_html":"(value : Time::Span)","def":{"name":"retry_delay=","args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"visibility":"Public","body":"@@retry_delay = value"}},{"html_id":"retry_delay?-class-method","name":"retry_delay?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use retry_delay in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use retry_delay in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"retry_delay?","visibility":"Public","body":"@@retry_delay"}},{"html_id":"screenshot_directory:String-class-method","name":"screenshot_directory","abstract":false,"def":{"name":"screenshot_directory","return_type":"String","visibility":"Public","body":"@@screenshot_directory.not_nil!"}},{"html_id":"screenshot_directory=(value:String)-class-method","name":"screenshot_directory=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","def":{"name":"screenshot_directory=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@@screenshot_directory = value"}},{"html_id":"screenshot_directory?-class-method","name":"screenshot_directory?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use screenshot_directory in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use screenshot_directory in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"screenshot_directory?","visibility":"Public","body":"@@screenshot_directory"}},{"html_id":"stop_retrying_after:Time::Span-class-method","name":"stop_retrying_after","abstract":false,"def":{"name":"stop_retrying_after","return_type":"Time::Span","visibility":"Public","body":"@@stop_retrying_after.not_nil!"}},{"html_id":"stop_retrying_after=(value:Time::Span)-class-method","name":"stop_retrying_after=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"args_string":"(value : Time::Span)","args_html":"(value : Time::Span)","def":{"name":"stop_retrying_after=","args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"visibility":"Public","body":"@@stop_retrying_after = value"}},{"html_id":"stop_retrying_after?-class-method","name":"stop_retrying_after?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use stop_retrying_after in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use stop_retrying_after in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"stop_retrying_after?","visibility":"Public","body":"@@stop_retrying_after"}},{"html_id":"to_h-class-method","name":"to_h","doc":"Generates a hash using the provided values","summary":"

Generates a hash using the provided values

","abstract":false,"def":{"name":"to_h","visibility":"Public","body":"{\"screenshot_directory\" => screenshot_directory, \"base_uri\" => base_uri, \"retry_delay\" => retry_delay, \"stop_retrying_after\" => stop_retrying_after, \"driver_path\" => driver_path}"}}]},{"html_id":"lucky_flow/LuckyFlow/InfiniteRedirectError","path":"LuckyFlow/InfiniteRedirectError.html","kind":"class","full_name":"LuckyFlow::InfiniteRedirectError","name":"InfiniteRedirectError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":51,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L51"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/InvalidMultiSelectError","path":"LuckyFlow/InvalidMultiSelectError.html","kind":"class","full_name":"LuckyFlow::InvalidMultiSelectError","name":"InvalidMultiSelectError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L45"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/errors.cr","line_number":46,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L46"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","path":"LuckyFlow/InvalidOperationError.html","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":42,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L42"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/InvalidMultiSelectError","kind":"class","full_name":"LuckyFlow::InvalidMultiSelectError","name":"InvalidMultiSelectError"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByDriverError","path":"LuckyFlow/NotSupportedByDriverError.html","kind":"class","full_name":"LuckyFlow::NotSupportedByDriverError","name":"NotSupportedByDriverError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L8"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByElementError","path":"LuckyFlow/NotSupportedByElementError.html","kind":"class","full_name":"LuckyFlow::NotSupportedByElementError","name":"NotSupportedByElementError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L11"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/Registry","path":"LuckyFlow/Registry.html","kind":"class","full_name":"LuckyFlow::Registry","name":"Registry","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/registry.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"available:Set(String)-class-method","name":"available","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L12"},"def":{"name":"available","return_type":"Set(String)","visibility":"Public","body":"Set.new(@@registry.keys)"}},{"html_id":"current_driver:LuckyFlow::Driver|Nil-class-method","name":"current_driver","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L3"},"def":{"name":"current_driver","return_type":"LuckyFlow::Driver | ::Nil","visibility":"Public","body":"@@current_driver"}},{"html_id":"current_driver=(current_driver:LuckyFlow::Driver|Nil)-class-method","name":"current_driver=","abstract":false,"args":[{"name":"current_driver","external_name":"current_driver","restriction":"LuckyFlow::Driver | ::Nil"}],"args_string":"(current_driver : LuckyFlow::Driver | Nil)","args_html":"(current_driver : LuckyFlow::Driver | Nil)","location":{"filename":"src/lucky_flow/registry.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L3"},"def":{"name":"current_driver=","args":[{"name":"current_driver","external_name":"current_driver","restriction":"LuckyFlow::Driver | ::Nil"}],"visibility":"Public","body":"@@current_driver = current_driver"}},{"html_id":"default_driver:String-class-method","name":"default_driver","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L2"},"def":{"name":"default_driver","return_type":"String","visibility":"Public","body":"@@default_driver"}},{"html_id":"default_driver=(default_driver:String)-class-method","name":"default_driver=","abstract":false,"args":[{"name":"default_driver","external_name":"default_driver","restriction":"String"}],"args_string":"(default_driver : String)","args_html":"(default_driver : String)","location":{"filename":"src/lucky_flow/registry.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L2"},"def":{"name":"default_driver=","args":[{"name":"default_driver","external_name":"default_driver","restriction":"String"}],"visibility":"Public","body":"@@default_driver = default_driver"}},{"html_id":"get_driver(name:String=default_driver):LuckyFlow::Driver-class-method","name":"get_driver","abstract":false,"args":[{"name":"name","default_value":"default_driver","external_name":"name","restriction":"String"}],"args_string":"(name : String = default_driver) : LuckyFlow::Driver","args_html":"(name : String = default_driver) : LuckyFlow::Driver","location":{"filename":"src/lucky_flow/registry.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L16"},"def":{"name":"get_driver","args":[{"name":"name","default_value":"default_driver","external_name":"name","restriction":"String"}],"return_type":"LuckyFlow::Driver","visibility":"Public","body":"__temp_93 = name\n@@running_registry[__temp_93]? || (@@running_registry[__temp_93] = @@registry[name].call)\n"}},{"html_id":"register(name:String|Symbol,&block:->LuckyFlow::Driver)-class-method","name":"register","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | Symbol"}],"args_string":"(name : String | Symbol, &block : -> LuckyFlow::Driver)","args_html":"(name : String | Symbol, &block : -> LuckyFlow::Driver)","location":{"filename":"src/lucky_flow/registry.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L8"},"def":{"name":"register","args":[{"name":"name","external_name":"name","restriction":"String | Symbol"}],"yields":0,"block_arity":0,"block_arg":{"name":"block","external_name":"block","restriction":"(-> LuckyFlow::Driver)"},"visibility":"Public","body":"@@registry[name.to_s] = block"}},{"html_id":"shutdown_all-class-method","name":"shutdown_all","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L20"},"def":{"name":"shutdown_all","visibility":"Public","body":"@@running_registry.values.each(&.shutdown)\n@@running_registry.clear\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Selector","path":"LuckyFlow/Selector.html","kind":"class","full_name":"LuckyFlow::Selector","name":"Selector","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selector.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selector.cr#L7"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"Returns selector or transforms it into a flow-id selector\n\nExample:\n\n Selector.new(\".some-class\").parse # => \".some-class\"\n Selector.new(\"@new-comment-button\").parse # => \"[flow-id='new-comment-button']\"","summary":"

Returns selector or transforms it into a flow-id selector

","constructors":[{"html_id":"new(raw_selector:String)-class-method","name":"new","abstract":false,"args":[{"name":"raw_selector","external_name":"raw_selector","restriction":"String"}],"args_string":"(raw_selector : String)","args_html":"(raw_selector : String)","location":{"filename":"src/lucky_flow/selector.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selector.cr#L10"},"def":{"name":"new","args":[{"name":"raw_selector","external_name":"raw_selector","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(raw_selector)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"parse-instance-method","name":"parse","abstract":false,"location":{"filename":"src/lucky_flow/selector.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selector.cr#L13"},"def":{"name":"parse","visibility":"Public","body":"if should_select_flow_id?\n flow_id_selector\nelse\n raw_selector\nend"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium","path":"LuckyFlow/Selenium.html","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L1"},{"filename":"src/lucky_flow/selenium/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome","path":"LuckyFlow/Selenium/Chrome.html","kind":"module","full_name":"LuckyFlow::Selenium::Chrome","name":"Chrome","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"types":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome/Driver","path":"LuckyFlow/Selenium/Chrome/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Chrome::Driver","name":"Driver","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome","kind":"module","full_name":"LuckyFlow::Selenium::Chrome","name":"Chrome"},"constructors":[{"html_id":"new(&)-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L8"},"def":{"name":"new","yields":1,"block_arity":1,"visibility":"Public","body":"_ = allocate\n_.initialize do |_arg0|\n yield _arg0\nend\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","path":"LuckyFlow/Selenium/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver","abstract":true,"superclass":{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Chrome::Driver","name":"Driver"}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":33,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L33"},"def":{"name":"accept_alert","visibility":"Public","body":"session.alert_manager.accept_alert"}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":59,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L59"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"session.cookie_manager.add_cookie(key, value)"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":55,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L55"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"session.current_url"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":37,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L37"},"def":{"name":"dismiss_alert","visibility":"Public","body":"session.alert_manager.dismiss_alert"}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":47,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L47"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"find_elements(:css, query)"}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":51,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L51"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"find_elements(:xpath, query)"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":63,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L63"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"(session.cookie_manager.get_cookie(key)).value"}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":41,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L41"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"if midpoint = element.midpoint\n session.move_to(**midpoint)\nend"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":67,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L67"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"session.document_manager.page_source"}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":25,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L25"},"def":{"name":"maximize_window","visibility":"Public","body":"session.window_manager.maximize"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":71,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L71"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@session.try do |__arg0|\n __arg0.cookie_manager.delete_all_cookies\nend"}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L29"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"session.window_manager.resize_window(width: width, height: height)"}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L11"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"FileUtils.mkdir_p(File.dirname(path))\nsession.screenshot(path)\n"}},{"html_id":"shutdown:Nil-instance-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":79,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L79"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"@session.try(&.delete)\nstop\n"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":75,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L75"},"def":{"name":"stop","visibility":"Public","body":"@driver.try(&.stop)"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L16"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"session.navigate_to(url)"}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L20"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":"result = session.window_manager.window_rect\n{width: result.width, height: result.height}\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Element","path":"LuckyFlow/Selenium/Element.html","kind":"class","full_name":"LuckyFlow::Selenium::Element","name":"Element","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"constructors":[{"html_id":"new(driver,raw_selector,inner_element:::Selenium::Element)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::Selenium::Element"}],"args_string":"(driver, raw_selector, inner_element : ::Selenium::Element)","args_html":"(driver, raw_selector, inner_element : ::Selenium::Element)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L6"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::Selenium::Element"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, raw_selector, inner_element)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L26"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@inner_element.attribute(name)"}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":22,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L22"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":"selected?"}},{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":38,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L38"},"def":{"name":"clear","visibility":"Public","body":"@inner_element.clear"}},{"html_id":"click-instance-method","name":"click","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":42,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L42"},"def":{"name":"click","visibility":"Public","body":"@inner_element.click"}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L14"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":"@inner_element.displayed?"}},{"html_id":"fill(value:Time)-instance-method","name":"fill","doc":"To set the value of date inputs correctly\nyou must put the year last\nbut it still submits the form with the date first\n...any questions?","summary":"

To set the value of date inputs correctly you must put the year last but it still submits the form with the date first ...any questions?

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"}],"args_string":"(value : Time)","args_html":"(value : Time)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L50"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"Time"}],"visibility":"Public","body":"fill(value.to_s(\"%m-%d-%Y\"))"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L70"},"def":{"name":"midpoint","return_type":"NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":"midpoint = @inner_element.rect.try(&.midpoint)\nif midpoint.nil?\n return\nend\n{x: midpoint.x, y: midpoint.y}\n"}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":30,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L30"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@inner_element.property(name)"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":58,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L58"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"select_el = ::Selenium::Helpers::Select.from_element(@inner_element)\nselect_el.select_by_value(value)\n"}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":63,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L63"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":"select_el = ::Selenium::Helpers::Select.from_element(@inner_element)\nif select_el.multiple?\nelse\n raise(LuckyFlow::InvalidMultiSelectError.new)\nend\nvalues.each do |value|\n select_el.select_by_value(value)\nend\n"}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L18"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":"@inner_element.selected?"}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":false,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":54,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L54"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":"@inner_element.send_keys(keys)"}},{"html_id":"send_keys(*args,**options)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L2"},"def":{"name":"send_keys","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@inner_element.send_keys(*args, **options)"}},{"html_id":"send_keys(*args,**options,&)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L2"},"def":{"name":"send_keys","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@inner_element.send_keys(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":34,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L34"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":"@inner_element.tag_name"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.text"}}]}]},{"html_id":"lucky_flow/LuckyFlow/Spec","path":"LuckyFlow/Spec.html","kind":"module","full_name":"LuckyFlow::Spec","name":"Spec","abstract":false,"locations":[{"filename":"src/lucky_flow/spec.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/spec.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"macros":[{"html_id":"setup-macro","name":"setup","abstract":false,"location":{"filename":"src/lucky_flow/spec.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/spec.cr#L2"},"def":{"name":"setup","visibility":"Public","body":" Spec.around_each do |spec|\n if driver_name = (spec.example._lucky_flow_all_tags & LuckyFlow::Registry.available).first?\n LuckyFlow.driver(driver_name)\n \nend\n\n spec.run\n\n LuckyFlow.reset\n LuckyFlow.use_default_driver\n \nend\n\n Spec.after_suite do\n LuckyFlow.shutdown\n \nend\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless","path":"LuckyFlow/Webless.html","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless","abstract":false,"locations":[{"filename":"src/lucky_flow/webless/browser.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Webless/Browser","path":"LuckyFlow/Webless/Browser.html","kind":"class","full_name":"LuckyFlow::Webless::Browser","name":"Browser","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/browser.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"REDIRECT_LIMIT","name":"REDIRECT_LIMIT","value":"5"}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(client:::Webless::Client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"::Webless::Client"}],"args_string":"(client : ::Webless::Client)","args_html":"(client : ::Webless::Client)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L6"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":"::Webless::Client"}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":41,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L41"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@client.cookie_jar[key] = value"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":33,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L33"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"@client.last_request_url"}},{"html_id":"find_css(query:String):Array(HTML5::Node)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(HTML5::Node)","args_html":"(query : String) : Array(HTML5::Node)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":25,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L25"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(HTML5::Node)","visibility":"Public","body":"parsed_html.css(query)"}},{"html_id":"find_xpath(query:String):Array(HTML5::Node)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(HTML5::Node)","args_html":"(query : String) : Array(HTML5::Node)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L29"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(HTML5::Node)","visibility":"Public","body":"parsed_html.xpath_nodes(query)"}},{"html_id":"follow(method:String,url:String)-instance-method","name":"follow","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String)","args_html":"(method : String, url : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L13"},"def":{"name":"follow","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@client.exec(method.upcase, url)\nhandle_redirects\n@parsed_html = nil\n"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L45"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@client.cookie_jar[key]?"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":49,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L49"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"@client.last_response.body"}},{"html_id":"reset-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":37,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L37"},"def":{"name":"reset","visibility":"Public","body":"@client.clear_cookies"}},{"html_id":"submit(request:HTTP::Request)-instance-method","name":"submit","abstract":false,"args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"args_string":"(request : HTTP::Request)","args_html":"(request : HTTP::Request)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":19,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L19"},"def":{"name":"submit","args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"visibility":"Public","body":"@client.exec(request)\nhandle_redirects\n@parsed_html = nil\n"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L9"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"follow(\"GET\", url)"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Driver","path":"LuckyFlow/Webless/Driver.html","kind":"class","full_name":"LuckyFlow::Webless::Driver","name":"Driver","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(handlers:Array(HTTP::Handler))-class-method","name":"new","abstract":false,"args":[{"name":"handlers","external_name":"handlers","restriction":"Array(HTTP::Handler)"}],"args_string":"(handlers : Array(HTTP::Handler))","args_html":"(handlers : Array(HTTP::Handler))","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L2"},"def":{"name":"new","args":[{"name":"handlers","external_name":"handlers","restriction":"Array(HTTP::Handler)"}],"visibility":"Public","body":"new(HTTP::Server.build_middleware(handlers))"}},{"html_id":"new(handler:HTTP::Handler)-class-method","name":"new","abstract":false,"args":[{"name":"handler","external_name":"handler","restriction":"HTTP::Handler"}],"args_string":"(handler : HTTP::Handler)","args_html":"(handler : HTTP::Handler)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L8"},"def":{"name":"new","args":[{"name":"handler","external_name":"handler","restriction":"HTTP::Handler"}],"visibility":"Public","body":"_ = allocate\n_.initialize(handler)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":36,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L36"},"def":{"name":"accept_alert","visibility":"Public","body":"unsupported"}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":60,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L60"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@browser.add_cookie(key, value)"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":56,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L56"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"@browser.current_url"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L40"},"def":{"name":"dismiss_alert","visibility":"Public","body":"unsupported"}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":48,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L48"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"(@browser.find_css(query)).map do |el|\n element(query, el)\nend"}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":52,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L52"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"(@browser.find_xpath(query)).map do |el|\n element(query, el)\nend"}},{"html_id":"follow(method:String,url:String)-instance-method","name":"follow","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String)","args_html":"(method : String, url : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L20"},"def":{"name":"follow","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@browser.follow(method, url)"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":64,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L64"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@browser.get_cookie(key)"}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":44,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L44"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"unsupported"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":68,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L68"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"@browser.html"}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":28,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L28"},"def":{"name":"maximize_window","visibility":"Public","body":"unsupported"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":76,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L76"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@browser.reset"}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L32"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"unsupported"}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L12"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"unsupported"}},{"html_id":"shutdown:Nil-instance-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":84,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L84"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"stop"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":80,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L80"},"def":{"name":"stop","visibility":"Public","body":""}},{"html_id":"submit(request:HTTP::Request)-instance-method","name":"submit","abstract":false,"args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"args_string":"(request : HTTP::Request)","args_html":"(request : HTTP::Request)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":72,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L72"},"def":{"name":"submit","args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"visibility":"Public","body":"@browser.submit(request)"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L16"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@browser.visit(url)"}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L24"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":"unsupported"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Element","path":"LuckyFlow/Webless/Element.html","kind":"class","full_name":"LuckyFlow::Webless::Element","name":"Element","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"VISIBILITY_XPATH","name":"VISIBILITY_XPATH","value":"\"boolean(./ancestor-or-self::*[(((./@style[(contains(., 'display:none') or contains(., 'display: none'))] or ./@hidden) or ((name(.) = 'script') or (name(.) = 'head'))) or (not(./self::summary) and ./parent::details[not(./@open)]))])\""}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(driver,raw_selector,inner_element:HTML5::Node)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::HTML5::Node"}],"args_string":"(driver, raw_selector, inner_element : HTML5::Node)","args_html":"(driver, raw_selector, inner_element : HTML5::Node)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L6"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::HTML5::Node"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, raw_selector, inner_element)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"append(value:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfield = el(\"input[name='comment']\")\nfield.fill(\"Lucky is:\")\n\nfield.append(\" So much fun!\")\n```","summary":"

Add text to the end of a field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":46,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L46"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"__temp_95 = find_or_create_attr(\"value\")\n__temp_95.val = __temp_95.val + value\n"}},{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":69,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L69"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"attr = _attribute(name)\nval = attr.try(&.val)\nif attr.nil? && (name == \"value\")\n val = \"\"\nend\nval\n"}},{"html_id":"check-instance-method","name":"check","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":174,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L174"},"def":{"name":"check","visibility":"Public","body":"if checkbox?\n set_checkbox(!checked?)\nelse\n if radio?\n set_radio\n end\nend"}},{"html_id":"checkbox?:Bool-instance-method","name":"checkbox?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":157,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L157"},"def":{"name":"checkbox?","return_type":"Bool","visibility":"Public","body":"(attribute(\"type\")) == \"checkbox\""}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":65,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L65"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":"(attribute(\"checked\")) == \"checked\""}},{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":91,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L91"},"def":{"name":"clear","visibility":"Public","body":"(_attribute(\"value\")).try(&.val = \"\")"}},{"html_id":"click-instance-method","name":"click","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L29"},"def":{"name":"click","visibility":"Public","body":"if link?\n method = (attribute(\"data-method\")) || \"get\"\n (driver.as(LuckyFlow::Webless::Driver)).follow(method, (attribute(\"href\")).to_s)\nelse\n if submits? && (f = form)\n (LuckyFlow::Webless::Form.new(f, @inner_element)).submit(driver.as(LuckyFlow::Webless::Driver))\n else\n if checkable?\n check\n end\n end\nend"}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":54,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L54"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":"if (tag_name == \"input\") && ((attribute(\"type\")) == \"hidden\")\n return false\nend\nif tag_name == \"template\"\n return false\nend\n(@driver.find_xpath(VISIBILITY_XPATH)).empty?\n"}},{"html_id":"fill(value:String)-instance-method","name":"fill","doc":"Set the text of a form field\n\n```\nfield = el(\"input[name='comment']\")\n\nfield.fill(\"Lucky is great!\")\n```","summary":"

Set the text of a form field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L40"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"if input_field? || textarea?\n set_input(value)\nend"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":115,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L115"},"def":{"name":"midpoint","return_type":"::NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":"unsupported"}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":83,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L83"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"attribute(name)"}},{"html_id":"radio?:Bool-instance-method","name":"radio?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":161,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L161"},"def":{"name":"radio?","return_type":"Bool","visibility":"Public","body":"(attribute(\"type\")) == \"radio\""}},{"html_id":"remove_attribute(name:String,element:HTML5::Node=@inner_element)-instance-method","name":"remove_attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"element","default_value":"@inner_element","external_name":"element","restriction":"HTML5::Node"}],"args_string":"(name : String, element : HTML5::Node = @inner_element)","args_html":"(name : String, element : HTML5::Node = @inner_element)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":79,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L79"},"def":{"name":"remove_attribute","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"element","default_value":"@inner_element","external_name":"element","restriction":"HTML5::Node"}],"visibility":"Public","body":"element.attr.reject! do |at|\n at.key == name\nend"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":95,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L95"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"(@inner_element.xpath_nodes(\".//option[@selected]\")).each do |node|\n remove_attribute(\"selected\", node)\nend\n(@inner_element.xpath(\".//option[@value='#{value}']\")).try do |el|\n (find_or_create_attr(\"selected\", el)).val = \"selected\"\nend\n"}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":103,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L103"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":"if multiple?\nelse\n raise(LuckyFlow::InvalidMultiSelectError.new)\nend\n(@inner_element.xpath_nodes(\".//option[@selected]\")).each do |node|\n remove_attribute(\"selected\", node)\nend\nvalues.each do |value|\n (@inner_element.xpath(\".//option[@value='#{value}']\")).try do |el|\n (find_or_create_attr(\"selected\", el)).val = \"selected\"\n end\nend\n"}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":61,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L61"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":"(attribute(\"selected\")) == \"selected\""}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":false,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L50"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":"append(keys.join)"}},{"html_id":"set_checkbox(value:Bool)-instance-method","name":"set_checkbox","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool)","args_html":"(value : Bool)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":192,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L192"},"def":{"name":"set_checkbox","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"visibility":"Public","body":"if value\n checked = find_or_create_attr(\"checked\")\n checked.val = \"checked\"\nelse\n remove_attribute(\"checked\")\nend"}},{"html_id":"set_radio-instance-method","name":"set_radio","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":182,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L182"},"def":{"name":"set_radio","visibility":"Public","body":"if name = attribute(\"name\")\n (driver.find_xpath(\"//input[(./@name = '#{name}')]\")).each do |node|\n remove_attribute(\"checked\", (node.as(LuckyFlow::Webless::Element)).inner_element)\n end\nend\nchecked = find_or_create_attr(\"checked\")\nchecked.val = \"checked\"\n"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":87,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L87"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":"@inner_element.data"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.inner_text"}},{"html_id":"value-instance-method","name":"value","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L14"},"def":{"name":"value","visibility":"Public","body":"if tag_name == \"select\"\n selected_options = @inner_element.xpath_nodes(\".//option[@selected]\")\n if multiple?\n selected_options.map do |option|\n option[\"value\"]? || option.inner_text\n end\n else\n option = selected_options.first? || (@inner_element.xpath(\".//option\"))\n if option.nil?\n raise(\"expected select to contain an option\")\n end\n option[\"value\"]?.try(&.val) || option.inner_text\n end\nelse\n attribute(\"value\")\nend"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Form","path":"LuckyFlow/Webless/Form.html","kind":"class","full_name":"LuckyFlow::Webless::Form","name":"Form","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/form.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/form.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ALL_FORM_FIELDS","name":"ALL_FORM_FIELDS","value":"\".//*[self::input | self::select | self::textarea | self::button][not(./@form)][not(./@disabled)]\""},{"id":"ALL_FORM_FIELDS_WITH_FORM_ID","name":"ALL_FORM_FIELDS_WITH_FORM_ID","value":"\".//*[self::input | self::select | self::textarea | self::button][not(./@form)][not(./@disabled)] | //*[self::input | self::select | self::textarea | self::button][(./@form = '%s')][not(./@disabled)]\""}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(form_node:HTML5::Node,submit_node:HTML5::Node)-class-method","name":"new","abstract":false,"args":[{"name":"form_node","external_name":"form_node","restriction":"::HTML5::Node"},{"name":"submit_node","external_name":"submit_node","restriction":"::HTML5::Node"}],"args_string":"(form_node : HTML5::Node, submit_node : HTML5::Node)","args_html":"(form_node : HTML5::Node, submit_node : HTML5::Node)","location":{"filename":"src/lucky_flow/webless/form.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/form.cr#L7"},"def":{"name":"new","args":[{"name":"form_node","external_name":"form_node","restriction":"::HTML5::Node"},{"name":"submit_node","external_name":"submit_node","restriction":"::HTML5::Node"}],"visibility":"Public","body":"_ = allocate\n_.initialize(form_node, submit_node)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"submit(driver:LuckyFlow::Webless::Driver)-instance-method","name":"submit","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Webless::Driver"}],"args_string":"(driver : LuckyFlow::Webless::Driver)","args_html":"(driver : LuckyFlow::Webless::Driver)","location":{"filename":"src/lucky_flow/webless/form.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/form.cr#L10"},"def":{"name":"submit","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Webless::Driver"}],"visibility":"Public","body":"form_field_xpath = if (id_attr = @form_node[\"id\"]?) && (!id_attr.val.blank?)\n ALL_FORM_FIELDS_WITH_FORM_ID % id_attr.val\nelse\n ALL_FORM_FIELDS\nend\nform_field_nodes = @form_node.xpath_nodes(form_field_xpath)\nform_field_nodes.reject! do |node|\n (submitter?(node)) && (node != submit_node)\nend\nform_values = form_field_nodes.compact_map do |form_field_node|\n case form_field_node.data\n when \"input\"\n parse_input_field(form_field_node)\n when \"textarea\"\n parse_textarea_field(form_field_node)\n when \"select\"\n parse_select_field(form_field_node)\n end\nend.to_h\nrequest_method = @form_node[\"method\"]?.try(&.val) == \"post\" ? :post : :get\nrequest_path = @submit_node[\"formaction\"]?.try() do |__arg1|\n __arg1.val.presence\nend || @form_node[\"action\"].val\nrequest = (((::Webless::RequestBuilder.new.method(request_method)).path(request_path)).form(form_values, multipart?)).build\ndriver.submit(request)\n"}}]}]}]},{"html_id":"lucky_flow/Spec","path":"Spec.html","kind":"module","full_name":"Spec","name":"Spec","abstract":false,"locations":[{"filename":"src/ext/spec/item.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/spec/item.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"lucky_flow/Spec/Item","path":"Spec/Item.html","kind":"module","full_name":"Spec::Item","name":"Item","abstract":false,"locations":[{"filename":"src/ext/spec/item.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/spec/item.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/Spec","kind":"module","full_name":"Spec","name":"Spec"}}]}]}}) \ No newline at end of file +crystal_doc_search_index_callback({"repository_name":"lucky_flow","body":"# LuckyFlow\n\n[![API Documentation Website](https://img.shields.io/website?down_color=red&down_message=Offline&label=API%20Documentation&up_message=Online&url=https%3A%2F%2Fluckyframework.github.io%2Flucky_flow%2F)](https://luckyframework.github.io/lucky_flow)\n\nLuckyFlow is a library for testing user flows in the browser. It is similar to\nRuby's Capybara.\n\n![LuckyFlow example](https://user-images.githubusercontent.com/22394/40257158-1a2f30b8-5abb-11e8-90c2-94463638e65d.png)\n\n## Installation in [Lucky](https://luckyframework.org) projects\n\nLuckyFlow is already installed and configured. Check out the guides\nto see how to use it: https://luckyframework.org/guides/browser-tests/\n\n## Installation in other Crystal projects\n\nAdd this to your application's `shard.yml`:\n\n```yaml\ndevelopment_dependencies:\n lucky_flow:\n github: luckyframework/lucky_flow\n```\n\nConfigure LuckyFlow in `spec/spec_helper.cr`:\n\n```crystal\nrequire \"lucky_flow\"\n\nLuckyFlow.configure do |settings|\n # This is required\n settings.base_uri = \"http://localhost:\"\n\n # Optional settings. Defaults are shown here\n settings.retry_delay = 10.milliseconds\n settings.stop_retrying_after = 1.second\n settings.screenshot_directory = \"./tmp/screenshots\"\n settings.browser_binary = \"/Applications/Brave Browser.app/Contents/MacOS/Brave Browser\"\nend\n\n# Put this at the bottom of the file.\n# If a required setting is missing, this will catch it.\nHabitat.raise_if_missing_settings!\n```\n\nThen view the guides: https://luckyframework.org/guides/browser-tests/\n\nYou should be ready to go!\n\nFor use with some of the Lucky shards (including Lucky itself), you'll need\nto require a few extensions:\n\n```crystal\n# This extension adds an override to `visit` allowing you\n# to pass in a Lucky::Action.class or Lucky::RouteHelper\nrequire \"lucky_flow/ext/lucky\"\n\n# This extension adds a `fill_form` method that you can pass\n# an Operation or SaveOperation to which will populate form\n# fields for you\nrequire \"lucky_flow/ext/avram\"\n\n# Similar to the Lucky extension, this gives an additional override\n# to `visit` that allows you to visit a page as a specific User\nrequire \"lucky_flow/ext/authentic\"\n```\n\n## Usage\n\n> Note that you can only pass string paths to `visit` since only Lucky has\n> route helpers described in the guide below. Example: `visit \"/my-path\"`\n\nView guide at: https://luckyframework.org/guides/browser-tests/\n\n## Contributing\n\n1. Fork it ( https://github.com/luckyframework/lucky_flow/fork )\n1. Create your feature branch (git checkout -b my-new-feature)\n1. Install docker and docker-compose: https://docs.docker.com/compose/install/\n1. Run `script/setup`\n1. Make your changes\n1. Run `script/test` to run the specs, build shards, and check formatting\n1. Commit your changes (git commit -am 'Add some feature')\n1. Push to the branch (git push origin my-new-feature)\n1. Create a new Pull Request\n\n## Contributors\n\n- [paulcsmith](https://github.com/paulcsmith) Paul Smith - creator, maintainer\n","program":{"html_id":"lucky_flow/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"locations":[],"repository_name":"lucky_flow","program":true,"enum":false,"alias":false,"const":false,"types":[{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","path":"AuthenticLuckyFlowHelpers.html","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/authentic.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/authentic.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Authentic](https://github.com/luckyframework/authentic)\nrequired, you can require this file for some additional helpers","summary":"

If you have Authentic required, you can require this file for some additional helpers

","instance_methods":[{"html_id":"visit(action:Lucky::Action.class,asuser:User)-instance-method","name":"visit","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"},{"name":"user","external_name":"as","restriction":"User"}],"args_string":"(action : Lucky::Action.class, as user : User)","args_html":"(action : Lucky::Action.class, as user : User)","location":{"filename":"src/ext/authentic.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/authentic.cr#L4"},"def":{"name":"visit","args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"},{"name":"user","external_name":"as","restriction":"User"}],"visibility":"Public","body":"visit(action.route, as: user)"}},{"html_id":"visit(route_helper:Lucky::RouteHelper,asuser:User)-instance-method","name":"visit","abstract":false,"args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"},{"name":"user","external_name":"as","restriction":"User"}],"args_string":"(route_helper : Lucky::RouteHelper, as user : User)","args_html":"(route_helper : Lucky::RouteHelper, as user : User)","location":{"filename":"src/ext/authentic.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/authentic.cr#L8"},"def":{"name":"visit","args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"},{"name":"user","external_name":"as","restriction":"User"}],"visibility":"Public","body":"url = route_helper.url\nuri = URI.parse(url)\nif uri.query\n url = url + \"&backdoor_user_id=#{user.id}\"\nelse\n if uri.query.nil?\n url = url + \"?backdoor_user_id=#{user.id}\"\n end\nend\ndriver.visit(url)\n"}}]},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","path":"AvramLuckyFlowHelpers.html","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/avram.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/avram.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Avram](https://github.com/luckyframework/avram)\nrequired, you can require this file for some additional helpers","summary":"

If you have Avram required, you can require this file for some additional helpers

","instance_methods":[{"html_id":"fill_form(form:Avram::SaveOperation.class|Avram::Operation.class,**fields_and_values)-instance-method","name":"fill_form","doc":"Fill a form created by Lucky that uses an Avram::SaveOperation\n\nNote that Lucky and Avram are required to use this method\n\n```\nfill_form QuestionForm,\n title: \"Hello there!\",\n body: \"Just wondering what day it is\"\n```","summary":"

Fill a form created by Lucky that uses an Avram::SaveOperation

","abstract":false,"args":[{"name":"form","external_name":"form","restriction":"Avram::SaveOperation.class | Avram::Operation.class"}],"args_string":"(form : Avram::SaveOperation.class | Avram::Operation.class, **fields_and_values)","args_html":"(form : Avram::SaveOperation.class | Avram::Operation.class, **fields_and_values)","location":{"filename":"src/ext/avram.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/avram.cr#L13"},"def":{"name":"fill_form","args":[{"name":"form","external_name":"form","restriction":"Avram::SaveOperation.class | Avram::Operation.class"}],"double_splat":{"name":"fields_and_values","external_name":"fields_and_values","restriction":""},"visibility":"Public","body":"fields_and_values.each do |name, value|\n element = field(\"#{form.param_key}:#{name}\")\n if element.tag_name == \"select\"\n self.select(element, value.to_s)\n else\n self.fill(element, with: value)\n end\nend"}}]},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","path":"LuckyActionLuckyFlowHelpers.html","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/lucky.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/lucky.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Lucky](https://github.com/luckyframework/lucky)\nrequired, you can require this file for some additional helpers","summary":"

If you have Lucky required, you can require this file for some additional helpers

","instance_methods":[{"html_id":"visit(action:Lucky::Action.class)-instance-method","name":"visit","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"}],"args_string":"(action : Lucky::Action.class)","args_html":"(action : Lucky::Action.class)","location":{"filename":"src/ext/lucky.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/lucky.cr#L4"},"def":{"name":"visit","args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"}],"visibility":"Public","body":"visit(action.route)"}},{"html_id":"visit(route_helper:Lucky::RouteHelper)-instance-method","name":"visit","abstract":false,"args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"}],"args_string":"(route_helper : Lucky::RouteHelper)","args_html":"(route_helper : Lucky::RouteHelper)","location":{"filename":"src/ext/lucky.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/lucky.cr#L8"},"def":{"name":"visit","args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"}],"visibility":"Public","body":"url = route_helper.url\ndriver.visit(url)\n"}}]},{"html_id":"lucky_flow/LuckyFlow","path":"LuckyFlow.html","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ext/authentic.cr","line_number":23,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/authentic.cr#L23"},{"filename":"src/ext/avram.cr","line_number":31,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/avram.cr#L31"},{"filename":"src/ext/lucky.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/lucky.cr#L17"},{"filename":"src/lucky_flow.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L7"},{"filename":"src/lucky_flow.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L13"},{"filename":"src/lucky_flow/errors.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L1"},{"filename":"src/lucky_flow/expectations.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations.cr#L3"},{"filename":"src/lucky_flow/version.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/version.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"HABITAT_SETTINGS","name":"HABITAT_SETTINGS","value":"[{decl: screenshot_directory : String = \"./tmp/screenshots\", example: nil, validation: nil}, {decl: base_uri : String, example: nil, validation: nil}, {decl: retry_delay : Time::Span = 10.milliseconds, example: nil, validation: nil}, {decl: stop_retrying_after : Time::Span = 1.second, example: nil, validation: nil}, {decl: driver_path : String | ::Nil, example: nil, validation: nil}] of Nil"},{"id":"VERSION","name":"VERSION","value":"\"0.9.2\""}],"included_modules":[{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"}],"doc":"```\nrequire \"lucky_flow/ext/lucky\"\n```","summary":"

require "lucky_flow/ext/lucky"

","class_methods":[{"html_id":"configure(&)-class-method","name":"configure","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L16"},"def":{"name":"configure","yields":1,"block_arity":1,"visibility":"Public","body":"yield settings"}},{"html_id":"default_driver=(value:String)-class-method","name":"default_driver=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L24"},"def":{"name":"default_driver=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"LuckyFlow::Registry.default_driver = value"}},{"html_id":"driver(name:String):LuckyFlow::Driver-class-method","name":"driver","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : LuckyFlow::Driver","args_html":"(name : String) : LuckyFlow::Driver","location":{"filename":"src/lucky_flow.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L32"},"def":{"name":"driver","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"LuckyFlow::Driver","visibility":"Public","body":"LuckyFlow::Registry.current_driver = LuckyFlow::Registry.get_driver(name)"}},{"html_id":"driver:LuckyFlow::Driver-class-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":28,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L28"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"__temp_49 = LuckyFlow::Registry\n__temp_49.current_driver || (__temp_49.current_driver = LuckyFlow::Registry.get_driver)\n"}},{"html_id":"reset:Nil-class-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":44,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L44"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"LuckyFlow::Registry.current_driver.try(&.reset)"}},{"html_id":"settings-class-method","name":"settings","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L16"},"def":{"name":"settings","visibility":"Public","body":"HabitatSettings"}},{"html_id":"shutdown:Nil-class-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":36,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L36"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"LuckyFlow::Registry.shutdown_all"}},{"html_id":"use_default_driver-class-method","name":"use_default_driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L40"},"def":{"name":"use_default_driver","visibility":"Public","body":"LuckyFlow::Registry.current_driver = nil"}}],"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":162,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L162"},"def":{"name":"accept_alert","visibility":"Public","body":"driver.accept_alert"}},{"html_id":"append(name_attr:String,withvalue:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfill(\"comment:body\", with: \"Lucky is:\")\n\nappend(\"comment:body\", \" So much fun!\")\n```","summary":"

Add text to the end of a field

","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":"String"}],"args_string":"(name_attr : String, with value : String)","args_html":"(name_attr : String, with value : String)","location":{"filename":"src/lucky_flow.cr","line_number":112,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L112"},"def":{"name":"append","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":"String"}],"visibility":"Public","body":"(field(name_attr)).append(value)"}},{"html_id":"click(css_selector:String)-instance-method","name":"click","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"args_string":"(css_selector : String)","args_html":"(css_selector : String)","location":{"filename":"src/lucky_flow.cr","line_number":88,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L88"},"def":{"name":"click","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"visibility":"Public","body":"(el(css_selector)).click"}},{"html_id":"current_path-instance-method","name":"current_path","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":157,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L157"},"def":{"name":"current_path","visibility":"Public","body":"url = driver.current_url\n(URI.parse(url)).path\n"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":166,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L166"},"def":{"name":"dismiss_alert","visibility":"Public","body":"driver.dismiss_alert"}},{"html_id":"driver:LuckyFlow::Driver-instance-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":175,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L175"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"self.class.driver"}},{"html_id":"el(css_selector:String,text:String):LuckyFlow::Element-instance-method","name":"el","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(css_selector : String, text : String) : LuckyFlow::Element","args_html":"(css_selector : String, text : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":141,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L141"},"def":{"name":"el","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"LuckyFlow::FindElement.run(driver, css_selector, text)"}},{"html_id":"el(css_selector:String):LuckyFlow::Element-instance-method","name":"el","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"args_string":"(css_selector : String) : LuckyFlow::Element","args_html":"(css_selector : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":145,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L145"},"def":{"name":"el","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"LuckyFlow::FindElement.run(driver, css_selector)"}},{"html_id":"expand_page_to_fullsize-instance-method","name":"expand_page_to_fullsize","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L70"},"def":{"name":"expand_page_to_fullsize","visibility":"Public","body":"driver.maximize_window"}},{"html_id":"field(name_attr:String):LuckyFlow::Element-instance-method","name":"field","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"}],"args_string":"(name_attr : String) : LuckyFlow::Element","args_html":"(name_attr : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":149,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L149"},"def":{"name":"field","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"el(\"[name='#{name_attr}']\")"}},{"html_id":"fill(name_attr:String,withvalue)-instance-method","name":"fill","doc":"Set the text of a form field, clearing any existing text\n\n```\nfill(\"comment:body\", with: \"Lucky is great!\")\n```","summary":"

Set the text of a form field, clearing any existing text

","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":""}],"args_string":"(name_attr : String, with value)","args_html":"(name_attr : String, with value)","location":{"filename":"src/lucky_flow.cr","line_number":97,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L97"},"def":{"name":"fill","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":""}],"visibility":"Public","body":"fill(field(name_attr), with: value)"}},{"html_id":"fill(element:Element,withvalue)-instance-method","name":"fill","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"with","restriction":""}],"args_string":"(element : Element, with value)","args_html":"(element : Element, with value)","location":{"filename":"src/lucky_flow.cr","line_number":101,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L101"},"def":{"name":"fill","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"with","restriction":""}],"visibility":"Public","body":"element.fill(value)"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":153,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L153"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"driver.html"}},{"html_id":"open_screenshot(process=Process,time=Time.utc,fullsize=false):Void-instance-method","name":"open_screenshot","abstract":false,"args":[{"name":"process","default_value":"Process","external_name":"process","restriction":""},{"name":"time","default_value":"Time.utc","external_name":"time","restriction":""},{"name":"fullsize","default_value":"false","external_name":"fullsize","restriction":""}],"args_string":"(process = Process, time = Time.utc, fullsize = false) : Void","args_html":"(process = Process, time = Time.utc, fullsize = false) : Void","location":{"filename":"src/lucky_flow.cr","line_number":52,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L52"},"def":{"name":"open_screenshot","args":[{"name":"process","default_value":"Process","external_name":"process","restriction":""},{"name":"time","default_value":"Time.utc","external_name":"time","restriction":""},{"name":"fullsize","default_value":"false","external_name":"fullsize","restriction":""}],"return_type":"Void","visibility":"Public","body":"filename = generate_screenshot_filename(time)\ntake_screenshot(filename, fullsize)\nprocess.new(command: \"#{open_command(process)} #{filename}\", shell: true)\n"}},{"html_id":"pause-instance-method","name":"pause","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":170,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L170"},"def":{"name":"pause","visibility":"Public","body":"puts(\"\\nPausing to debug... (press enter to continue)\")\nSTDIN.gets\n"}},{"html_id":"select(name_attr:String,value:Array(String)|String)-instance-method","name":"select","doc":"Select an option from a select element\n\n```\nselect(\"post:category\", value: \"rant\")\n```\n\nIf given an Array(String), the select is assumed to have the 'multiple' attribute\nand will raise a `LuckyFlow::InvalidMultiSelectError` if it doesn't.\n\n```\nselect(\"post:tags\", value: [\"rant\", \"technology\"])\n```\n","summary":"

Select an option from a select element

","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"value","restriction":"Array(String) | String"}],"args_string":"(name_attr : String, value : Array(String) | String)","args_html":"(name_attr : String, value : Array(String) | String)","location":{"filename":"src/lucky_flow.cr","line_number":129,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L129"},"def":{"name":"select","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"value","restriction":"Array(String) | String"}],"visibility":"Public","body":"self.select(field(name_attr), value: value)"}},{"html_id":"select(element:Element,value:String)-instance-method","name":"select","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(element : Element, value : String)","args_html":"(element : Element, value : String)","location":{"filename":"src/lucky_flow.cr","line_number":133,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L133"},"def":{"name":"select","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"element.select_option(value)"}},{"html_id":"select(element:Element,value:Array(String))-instance-method","name":"select","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"Array(String)"}],"args_string":"(element : Element, value : Array(String))","args_html":"(element : Element, value : Array(String))","location":{"filename":"src/lucky_flow.cr","line_number":137,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L137"},"def":{"name":"select","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"Array(String)"}],"visibility":"Public","body":"element.select_options(value)"}},{"html_id":"settings-instance-method","name":"settings","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L16"},"def":{"name":"settings","visibility":"Public","body":"HabitatSettings"}},{"html_id":"take_screenshot(filename:String=generate_screenshot_filename,fullsize:Bool=true)-instance-method","name":"take_screenshot","abstract":false,"args":[{"name":"filename","default_value":"generate_screenshot_filename","external_name":"filename","restriction":"String"},{"name":"fullsize","default_value":"true","external_name":"fullsize","restriction":"Bool"}],"args_string":"(filename : String = generate_screenshot_filename, fullsize : Bool = true)","args_html":"(filename : String = generate_screenshot_filename, fullsize : Bool = true)","location":{"filename":"src/lucky_flow.cr","line_number":58,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L58"},"def":{"name":"take_screenshot","args":[{"name":"filename","default_value":"generate_screenshot_filename","external_name":"filename","restriction":"String"},{"name":"fullsize","default_value":"true","external_name":"fullsize","restriction":"Bool"}],"visibility":"Public","body":"if fullsize\n with_fullsized_page do\n driver.screenshot(filename)\n end\nelse\n driver.screenshot(filename)\nend"}},{"html_id":"visit(path:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow.cr","line_number":48,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L48"},"def":{"name":"visit","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"driver.visit(\"#{settings.base_uri}#{path}\")"}},{"html_id":"with_fullsized_page(&)-instance-method","name":"with_fullsized_page","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":74,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L74"},"def":{"name":"with_fullsized_page","yields":0,"block_arity":0,"visibility":"Public","body":"begin\n original_size = driver.window_size\n expand_page_to_fullsize\n yield\nensure\n if original_size\n driver.resize_window(**original_size)\n end\nend"}}],"types":[{"html_id":"lucky_flow/LuckyFlow/Driver","path":"LuckyFlow/Driver.html","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver","abstract":true,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},{"html_id":"lucky_flow/LuckyFlow/Webless/Driver","kind":"class","full_name":"LuckyFlow::Webless::Driver","name":"Driver"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L10"},"def":{"name":"accept_alert","visibility":"Public","body":""}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":true,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L16"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L15"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":""}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L11"},"def":{"name":"dismiss_alert","visibility":"Public","body":""}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":true,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L13"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":""}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":true,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L14"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":""}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":true,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/driver.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L17"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":true,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L12"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":""}},{"html_id":"html:String-instance-method","name":"html","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L18"},"def":{"name":"html","return_type":"String","visibility":"Public","body":""}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L8"},"def":{"name":"maximize_window","visibility":"Public","body":""}},{"html_id":"reset-instance-method","name":"reset","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L3"},"def":{"name":"reset","visibility":"Public","body":""}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":true,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/driver.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L9"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":""}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":true,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L5"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"shutdown-instance-method","name":"shutdown","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L4"},"def":{"name":"shutdown","visibility":"Public","body":""}},{"html_id":"stop-instance-method","name":"stop","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L2"},"def":{"name":"stop","visibility":"Public","body":""}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":true,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L6"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L7"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":""}}],"macros":[{"html_id":"unsupported-macro","name":"unsupported","abstract":false,"location":{"filename":"src/lucky_flow/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/driver.cr#L20"},"def":{"name":"unsupported","visibility":"Public","body":" method_name = \n\\{\n{ @def.name.stringify }}\n raise NotSupportedByDriverError.new(\"#{self.class}##{method_name}\")\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/DriverInstallationError","path":"LuckyFlow/DriverInstallationError.html","kind":"class","full_name":"LuckyFlow::DriverInstallationError","name":"DriverInstallationError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L26"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new(error:Exception)-class-method","name":"new","abstract":false,"args":[{"name":"error","external_name":"error","restriction":"Exception"}],"args_string":"(error : Exception)","args_html":"(error : Exception)","location":{"filename":"src/lucky_flow/errors.cr","line_number":27,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L27"},"def":{"name":"new","args":[{"name":"error","external_name":"error","restriction":"Exception"}],"visibility":"Public","body":"_ = allocate\n_.initialize(error)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Element","path":"LuckyFlow/Element.html","kind":"class","full_name":"LuckyFlow::Element","name":"Element","abstract":true,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Element","kind":"class","full_name":"LuckyFlow::Selenium::Element","name":"Element"},{"html_id":"lucky_flow/LuckyFlow/Webless/Element","kind":"class","full_name":"LuckyFlow::Webless::Element","name":"Element"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"instance_methods":[{"html_id":"append(value:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfield = el(\"input[name='comment']\")\nfield.fill(\"Lucky is:\")\n\nfield.append(\" So much fun!\")\n```","summary":"

Add text to the end of a field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":62,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L62"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"send_keys(value)"}},{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":true,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L11"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"attribute(name:Symbol):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : String | Nil","args_html":"(name : Symbol) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":30,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L30"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"String | ::Nil","visibility":"Public","body":"attribute(name.to_s)"}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L10"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"clear-instance-method","name":"clear","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L14"},"def":{"name":"clear","visibility":"Public","body":""}},{"html_id":"click-instance-method","name":"click","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L6"},"def":{"name":"click","visibility":"Public","body":""}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L8"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"driver:LuckyFlow::Driver-instance-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L2"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"@driver"}},{"html_id":"fill(value:String)-instance-method","name":"fill","doc":"Set the text of a form field\n\n```\nfield = el(\"input[name='comment']\")\n\nfield.fill(\"Lucky is great!\")\n```","summary":"

Set the text of a form field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L45"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"clear\nsend_keys(value)\n"}},{"html_id":"fill(value:Time)-instance-method","name":"fill","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"}],"args_string":"(value : Time)","args_html":"(value : Time)","location":{"filename":"src/lucky_flow/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L50"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"Time"}],"visibility":"Public","body":"fill(value.to_s(\"%Y-%m-%d\"))"}},{"html_id":"hover-instance-method","name":"hover","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L70"},"def":{"name":"hover","visibility":"Public","body":"driver.hover(self)"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L17"},"def":{"name":"midpoint","return_type":"::NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":""}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":true,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L12"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"property(name:Symbol):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : String | Nil","args_html":"(name : Symbol) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":34,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L34"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"String | ::Nil","visibility":"Public","body":"property(name.to_s)"}},{"html_id":"raw_selector:String-instance-method","name":"raw_selector","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L3"},"def":{"name":"raw_selector","return_type":"String","visibility":"Public","body":"@raw_selector"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":true,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L15"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":true,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/element.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L16"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":""}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L9"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"selector:String-instance-method","name":"selector","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":66,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L66"},"def":{"name":"selector","return_type":"String","visibility":"Public","body":"(Selector.new(raw_selector)).parse"}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":true,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/element.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L7"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":""}},{"html_id":"send_keys(key:String)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L26"},"def":{"name":"send_keys","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"send_keys([key])"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L13"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":""}},{"html_id":"text:String-instance-method","name":"text","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L5"},"def":{"name":"text","return_type":"String","visibility":"Public","body":""}},{"html_id":"value-instance-method","name":"value","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":22,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L22"},"def":{"name":"value","visibility":"Public","body":"property(\"value\")"}}],"macros":[{"html_id":"unsupported-macro","name":"unsupported","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":74,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/element.cr#L74"},"def":{"name":"unsupported","visibility":"Public","body":" method_name = \n\\{\n{ @def.name.stringify }}\n raise NotSupportedByElementError.new(\"#{self.class}##{method_name}\")\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/ElementNotFoundError","path":"LuckyFlow/ElementNotFoundError.html","kind":"class","full_name":"LuckyFlow::ElementNotFoundError","name":"ElementNotFoundError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L14"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector:String,inner_text:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"}],"args_string":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil)","args_html":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil)","location":{"filename":"src/lucky_flow/errors.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L15"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Error","path":"LuckyFlow/Error.html","kind":"class","full_name":"LuckyFlow::Error","name":"Error","abstract":false,"superclass":{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L5"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/DriverInstallationError","kind":"class","full_name":"LuckyFlow::DriverInstallationError","name":"DriverInstallationError"},{"html_id":"lucky_flow/LuckyFlow/ElementNotFoundError","kind":"class","full_name":"LuckyFlow::ElementNotFoundError","name":"ElementNotFoundError"},{"html_id":"lucky_flow/LuckyFlow/InfiniteRedirectError","kind":"class","full_name":"LuckyFlow::InfiniteRedirectError","name":"InfiniteRedirectError"},{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByDriverError","kind":"class","full_name":"LuckyFlow::NotSupportedByDriverError","name":"NotSupportedByDriverError"},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByElementError","kind":"class","full_name":"LuckyFlow::NotSupportedByElementError","name":"NotSupportedByElementError"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"= LuckyFlow Errors\n\nGeneric LuckyFlow exception class.","summary":"

= LuckyFlow Errors

"},{"html_id":"lucky_flow/LuckyFlow/ErrorMessageWhenNotFound","path":"LuckyFlow/ErrorMessageWhenNotFound.html","kind":"class","full_name":"LuckyFlow::ErrorMessageWhenNotFound","name":"ErrorMessageWhenNotFound","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/error_message_when_not_found.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"build(*args,**named_args)-class-method","name":"build","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **named_args)","args_html":"(*args, **named_args)","location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/error_message_when_not_found.cr#L6"},"def":{"name":"build","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"named_args","external_name":"named_args","restriction":""},"splat_index":0,"visibility":"Public","body":"(new(*args, **named_args)).build"}}],"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector:String,inner_text:String|Nil,negate:Bool=false)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"},{"name":"negate","default_value":"false","external_name":"negate","restriction":"Bool"}],"args_string":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil, negate : Bool = false)","args_html":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil, negate : Bool = false)","location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/error_message_when_not_found.cr#L10"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"},{"name":"negate","default_value":"false","external_name":"negate","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text, negate)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"build-instance-method","name":"build","abstract":false,"location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/error_message_when_not_found.cr#L18"},"def":{"name":"build","visibility":"Public","body":"String.build do |message|\n message << \"Expected \"\n if negate\n message << \"not \"\n end\n message << \"to find element on page, but it was \"\n if negate\n else\n message << \"not \"\n end\n message << \"found.\"\n message << \"\\n\\n â–¸ looking for: #{selector}\"\n if !inner_text.empty?\n message << \"\\n â–¸ with text: #{inner_text}\"\n end\n if (similar_flow_id && inner_text.empty?) && (!negate)\n message << \"\\n\\n\"\n message << \" Did you mean...\"\n message << \"\\n\\n â–¸ \"\n message << \"'@#{similar_flow_id}'\\n\"\n end\nend"}},{"html_id":"inner_text-instance-method","name":"inner_text","abstract":false,"location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/error_message_when_not_found.cr#L40"},"def":{"name":"inner_text","visibility":"Public","body":"(@inner_text || \"\")"}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations","path":"LuckyFlow/Expectations.html","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations","abstract":false,"locations":[{"filename":"src/lucky_flow/expectations.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations.cr#L4"},{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_current_path_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveCurrentPathExpectation","path":"LuckyFlow/Expectations/HaveCurrentPathExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveCurrentPathExpectation","name":"HaveCurrentPathExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_current_path_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(expected_path:String)-class-method","name":"new","abstract":false,"args":[{"name":"expected_path","external_name":"expected_path","restriction":"String"}],"args_string":"(expected_path : String)","args_html":"(expected_path : String)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_current_path_expectation.cr#L2"},"def":{"name":"new","args":[{"name":"expected_path","external_name":"expected_path","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expected_path)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(flow)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":""}],"args_string":"(flow)","args_html":"(flow)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_current_path_expectation.cr#L9"},"def":{"name":"failure_message","args":[{"name":"flow","external_name":"flow","restriction":""}],"visibility":"Public","body":"\"Expected current path to be: #{@expected_path}\\n actual: #{flow.current_path}\""}},{"html_id":"match(flow:LuckyFlow):Bool-instance-method","name":"match","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow) : Bool","args_html":"(flow : LuckyFlow) : Bool","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_current_path_expectation.cr#L5"},"def":{"name":"match","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"return_type":"Bool","visibility":"Public","body":"flow.current_path == @expected_path"}},{"html_id":"negative_failure_message(_flow)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"_flow","external_name":"_flow","restriction":""}],"args_string":"(_flow)","args_html":"(_flow)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_current_path_expectation.cr#L16"},"def":{"name":"negative_failure_message","args":[{"name":"_flow","external_name":"_flow","restriction":""}],"visibility":"Public","body":"\"Expected current path not to be: #{@expected_path}\""}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveElementExpectation","path":"LuckyFlow/Expectations/HaveElementExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveElementExpectation","name":"HaveElementExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_element_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(css_selector:String,text:String|Nil,visible:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String | ::Nil"},{"name":"visible","external_name":"visible","restriction":"Bool"}],"args_string":"(css_selector : String, text : String | Nil, visible : Bool)","args_html":"(css_selector : String, text : String | Nil, visible : Bool)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_element_expectation.cr#L4"},"def":{"name":"new","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String | ::Nil"},{"name":"visible","external_name":"visible","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(css_selector, text, visible)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(flow:LuckyFlow)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow)","args_html":"(flow : LuckyFlow)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_element_expectation.cr#L24"},"def":{"name":"failure_message","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"visibility":"Public","body":"LuckyFlow::ErrorMessageWhenNotFound.build(flow.driver, @css_selector, @text)"}},{"html_id":"match(flow:LuckyFlow):Bool-instance-method","name":"match","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow) : Bool","args_html":"(flow : LuckyFlow) : Bool","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_element_expectation.cr#L8"},"def":{"name":"match","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"return_type":"Bool","visibility":"Public","body":"begin\n element = if text = @text\n flow.el(@css_selector, text)\n else\n flow.el(@css_selector)\n end\n if @visible\n element.displayed?\n else\n true\n end\nrescue LuckyFlow::ElementNotFoundError\n false\nend"}},{"html_id":"negative_failure_message(flow:LuckyFlow)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow)","args_html":"(flow : LuckyFlow)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_element_expectation.cr#L32"},"def":{"name":"negative_failure_message","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"visibility":"Public","body":"LuckyFlow::ErrorMessageWhenNotFound.build(flow.driver, @css_selector, @text, negate: true)"}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveTextExpectation","path":"LuckyFlow/Expectations/HaveTextExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveTextExpectation","name":"HaveTextExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_text_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(expected_value:String)-class-method","name":"new","abstract":false,"args":[{"name":"expected_value","external_name":"expected_value","restriction":"String"}],"args_string":"(expected_value : String)","args_html":"(expected_value : String)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_text_expectation.cr#L2"},"def":{"name":"new","args":[{"name":"expected_value","external_name":"expected_value","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expected_value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(element:LuckyFlow::Element)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_text_expectation.cr#L9"},"def":{"name":"failure_message","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"\"Expected element to have text: #{@expected_value}\\n actual: #{element.text}\""}},{"html_id":"match(element:LuckyFlow::Element)-instance-method","name":"match","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_text_expectation.cr#L5"},"def":{"name":"match","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"element.text.includes?(@expected_value)"}},{"html_id":"negative_failure_message(element:LuckyFlow::Element)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/expectations/have_text_expectation.cr#L16"},"def":{"name":"negative_failure_message","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"\"Expected element not to have text: #{@expected_value}\""}}]}]},{"html_id":"lucky_flow/LuckyFlow/FindElement","path":"LuckyFlow/FindElement.html","kind":"class","full_name":"LuckyFlow::FindElement","name":"FindElement","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/find_element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/find_element.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"Find element on a page with a retry","summary":"

Find element on a page with a retry

","class_methods":[{"html_id":"run(*args,**named_args):LuckyFlow::Element-class-method","name":"run","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **named_args) : LuckyFlow::Element","args_html":"(*args, **named_args) : LuckyFlow::Element","location":{"filename":"src/lucky_flow/find_element.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/find_element.cr#L12"},"def":{"name":"run","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"named_args","external_name":"named_args","restriction":""},"splat_index":0,"return_type":"LuckyFlow::Element","visibility":"Public","body":"(new(*args, **named_args)).run"}}],"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector,textinner_text:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"::LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":""},{"name":"inner_text","default_value":"nil","external_name":"text","restriction":"::Nil | ::String"}],"args_string":"(driver : LuckyFlow::Driver, selector, text inner_text : Nil | String = nil)","args_html":"(driver : LuckyFlow::Driver, selector, text inner_text : Nil | String = nil)","location":{"filename":"src/lucky_flow/find_element.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/find_element.cr#L8"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"::LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":""},{"name":"inner_text","default_value":"nil","external_name":"text","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"run:LuckyFlow::Element-instance-method","name":"run","abstract":false,"location":{"filename":"src/lucky_flow/find_element.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/find_element.cr#L16"},"def":{"name":"run","return_type":"LuckyFlow::Element","visibility":"Public","body":"loop do\n matching_elements = find_matching_elements\n if matching_elements.first?\n return matching_elements.first\n end\n if has_retries_left?\n else\n break\n end\n sleep(retry_delay_in_ms)\nend\nraise_element_not_found_error\n"}}]},{"html_id":"lucky_flow/LuckyFlow/HabitatSettings","path":"LuckyFlow/HabitatSettings.html","kind":"class","full_name":"LuckyFlow::HabitatSettings","name":"HabitatSettings","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow.cr#L16"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"base_uri:String-class-method","name":"base_uri","abstract":false,"def":{"name":"base_uri","return_type":"String","visibility":"Public","body":"@@base_uri.not_nil!"}},{"html_id":"base_uri=(value:String)-class-method","name":"base_uri=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","def":{"name":"base_uri=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@@base_uri = value"}},{"html_id":"base_uri?-class-method","name":"base_uri?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use base_uri in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use base_uri in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"base_uri?","visibility":"Public","body":"@@base_uri"}},{"html_id":"driver_path:String|Nil-class-method","name":"driver_path","abstract":false,"def":{"name":"driver_path","return_type":"String | ::Nil","visibility":"Public","body":"@@driver_path"}},{"html_id":"driver_path=(value:String|Nil)-class-method","name":"driver_path=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String | ::Nil"}],"args_string":"(value : String | Nil)","args_html":"(value : String | Nil)","def":{"name":"driver_path=","args":[{"name":"value","external_name":"value","restriction":"String | ::Nil"}],"visibility":"Public","body":"@@driver_path = value"}},{"html_id":"driver_path?-class-method","name":"driver_path?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use driver_path in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use driver_path in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"driver_path?","visibility":"Public","body":"@@driver_path"}},{"html_id":"retry_delay:Time::Span-class-method","name":"retry_delay","abstract":false,"def":{"name":"retry_delay","return_type":"Time::Span","visibility":"Public","body":"@@retry_delay.not_nil!"}},{"html_id":"retry_delay=(value:Time::Span)-class-method","name":"retry_delay=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"args_string":"(value : Time::Span)","args_html":"(value : Time::Span)","def":{"name":"retry_delay=","args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"visibility":"Public","body":"@@retry_delay = value"}},{"html_id":"retry_delay?-class-method","name":"retry_delay?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use retry_delay in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use retry_delay in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"retry_delay?","visibility":"Public","body":"@@retry_delay"}},{"html_id":"screenshot_directory:String-class-method","name":"screenshot_directory","abstract":false,"def":{"name":"screenshot_directory","return_type":"String","visibility":"Public","body":"@@screenshot_directory.not_nil!"}},{"html_id":"screenshot_directory=(value:String)-class-method","name":"screenshot_directory=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","def":{"name":"screenshot_directory=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@@screenshot_directory = value"}},{"html_id":"screenshot_directory?-class-method","name":"screenshot_directory?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use screenshot_directory in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use screenshot_directory in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"screenshot_directory?","visibility":"Public","body":"@@screenshot_directory"}},{"html_id":"stop_retrying_after:Time::Span-class-method","name":"stop_retrying_after","abstract":false,"def":{"name":"stop_retrying_after","return_type":"Time::Span","visibility":"Public","body":"@@stop_retrying_after.not_nil!"}},{"html_id":"stop_retrying_after=(value:Time::Span)-class-method","name":"stop_retrying_after=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"args_string":"(value : Time::Span)","args_html":"(value : Time::Span)","def":{"name":"stop_retrying_after=","args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"visibility":"Public","body":"@@stop_retrying_after = value"}},{"html_id":"stop_retrying_after?-class-method","name":"stop_retrying_after?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use stop_retrying_after in your apps to ensure\nthe propper type is checked.","summary":"

Used for checking missing settings on non-nilable types It's advised to use stop_retrying_after in your apps to ensure the propper type is checked.

","abstract":false,"def":{"name":"stop_retrying_after?","visibility":"Public","body":"@@stop_retrying_after"}},{"html_id":"to_h-class-method","name":"to_h","doc":"Generates a hash using the provided values","summary":"

Generates a hash using the provided values

","abstract":false,"def":{"name":"to_h","visibility":"Public","body":"{\"screenshot_directory\" => screenshot_directory, \"base_uri\" => base_uri, \"retry_delay\" => retry_delay, \"stop_retrying_after\" => stop_retrying_after, \"driver_path\" => driver_path}"}}]},{"html_id":"lucky_flow/LuckyFlow/InfiniteRedirectError","path":"LuckyFlow/InfiniteRedirectError.html","kind":"class","full_name":"LuckyFlow::InfiniteRedirectError","name":"InfiniteRedirectError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":51,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L51"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/InvalidMultiSelectError","path":"LuckyFlow/InvalidMultiSelectError.html","kind":"class","full_name":"LuckyFlow::InvalidMultiSelectError","name":"InvalidMultiSelectError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L45"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/errors.cr","line_number":46,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L46"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","path":"LuckyFlow/InvalidOperationError.html","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":42,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L42"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/InvalidMultiSelectError","kind":"class","full_name":"LuckyFlow::InvalidMultiSelectError","name":"InvalidMultiSelectError"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByDriverError","path":"LuckyFlow/NotSupportedByDriverError.html","kind":"class","full_name":"LuckyFlow::NotSupportedByDriverError","name":"NotSupportedByDriverError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L8"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByElementError","path":"LuckyFlow/NotSupportedByElementError.html","kind":"class","full_name":"LuckyFlow::NotSupportedByElementError","name":"NotSupportedByElementError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/errors.cr#L11"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/Registry","path":"LuckyFlow/Registry.html","kind":"class","full_name":"LuckyFlow::Registry","name":"Registry","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/registry.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"available:Set(String)-class-method","name":"available","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L12"},"def":{"name":"available","return_type":"Set(String)","visibility":"Public","body":"Set.new(@@registry.keys)"}},{"html_id":"current_driver:LuckyFlow::Driver|Nil-class-method","name":"current_driver","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L3"},"def":{"name":"current_driver","return_type":"LuckyFlow::Driver | ::Nil","visibility":"Public","body":"@@current_driver"}},{"html_id":"current_driver=(current_driver:LuckyFlow::Driver|Nil)-class-method","name":"current_driver=","abstract":false,"args":[{"name":"current_driver","external_name":"current_driver","restriction":"LuckyFlow::Driver | ::Nil"}],"args_string":"(current_driver : LuckyFlow::Driver | Nil)","args_html":"(current_driver : LuckyFlow::Driver | Nil)","location":{"filename":"src/lucky_flow/registry.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L3"},"def":{"name":"current_driver=","args":[{"name":"current_driver","external_name":"current_driver","restriction":"LuckyFlow::Driver | ::Nil"}],"visibility":"Public","body":"@@current_driver = current_driver"}},{"html_id":"default_driver:String-class-method","name":"default_driver","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L2"},"def":{"name":"default_driver","return_type":"String","visibility":"Public","body":"@@default_driver"}},{"html_id":"default_driver=(default_driver:String)-class-method","name":"default_driver=","abstract":false,"args":[{"name":"default_driver","external_name":"default_driver","restriction":"String"}],"args_string":"(default_driver : String)","args_html":"(default_driver : String)","location":{"filename":"src/lucky_flow/registry.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L2"},"def":{"name":"default_driver=","args":[{"name":"default_driver","external_name":"default_driver","restriction":"String"}],"visibility":"Public","body":"@@default_driver = default_driver"}},{"html_id":"get_driver(name:String=default_driver):LuckyFlow::Driver-class-method","name":"get_driver","abstract":false,"args":[{"name":"name","default_value":"default_driver","external_name":"name","restriction":"String"}],"args_string":"(name : String = default_driver) : LuckyFlow::Driver","args_html":"(name : String = default_driver) : LuckyFlow::Driver","location":{"filename":"src/lucky_flow/registry.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L16"},"def":{"name":"get_driver","args":[{"name":"name","default_value":"default_driver","external_name":"name","restriction":"String"}],"return_type":"LuckyFlow::Driver","visibility":"Public","body":"__temp_93 = name\n@@running_registry[__temp_93]? || (@@running_registry[__temp_93] = @@registry[name].call)\n"}},{"html_id":"register(name:String|Symbol,&block:->LuckyFlow::Driver)-class-method","name":"register","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | Symbol"}],"args_string":"(name : String | Symbol, &block : -> LuckyFlow::Driver)","args_html":"(name : String | Symbol, &block : -> LuckyFlow::Driver)","location":{"filename":"src/lucky_flow/registry.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L8"},"def":{"name":"register","args":[{"name":"name","external_name":"name","restriction":"String | Symbol"}],"yields":0,"block_arity":0,"block_arg":{"name":"block","external_name":"block","restriction":"(-> LuckyFlow::Driver)"},"visibility":"Public","body":"@@registry[name.to_s] = block"}},{"html_id":"shutdown_all-class-method","name":"shutdown_all","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/registry.cr#L20"},"def":{"name":"shutdown_all","visibility":"Public","body":"@@running_registry.values.each(&.shutdown)\n@@running_registry.clear\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Selector","path":"LuckyFlow/Selector.html","kind":"class","full_name":"LuckyFlow::Selector","name":"Selector","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selector.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selector.cr#L7"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"Returns selector or transforms it into a flow-id selector\n\nExample:\n\n Selector.new(\".some-class\").parse # => \".some-class\"\n Selector.new(\"@new-comment-button\").parse # => \"[flow-id='new-comment-button']\"","summary":"

Returns selector or transforms it into a flow-id selector

","constructors":[{"html_id":"new(raw_selector:String)-class-method","name":"new","abstract":false,"args":[{"name":"raw_selector","external_name":"raw_selector","restriction":"String"}],"args_string":"(raw_selector : String)","args_html":"(raw_selector : String)","location":{"filename":"src/lucky_flow/selector.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selector.cr#L10"},"def":{"name":"new","args":[{"name":"raw_selector","external_name":"raw_selector","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(raw_selector)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"parse-instance-method","name":"parse","abstract":false,"location":{"filename":"src/lucky_flow/selector.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selector.cr#L13"},"def":{"name":"parse","visibility":"Public","body":"if should_select_flow_id?\n flow_id_selector\nelse\n raw_selector\nend"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium","path":"LuckyFlow/Selenium.html","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/chrome/driver.cr#L1"},{"filename":"src/lucky_flow/selenium/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome","path":"LuckyFlow/Selenium/Chrome.html","kind":"module","full_name":"LuckyFlow::Selenium::Chrome","name":"Chrome","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/chrome/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"types":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome/Driver","path":"LuckyFlow/Selenium/Chrome/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Chrome::Driver","name":"Driver","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/chrome/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome","kind":"module","full_name":"LuckyFlow::Selenium::Chrome","name":"Chrome"},"constructors":[{"html_id":"new(&)-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/chrome/driver.cr#L8"},"def":{"name":"new","yields":1,"block_arity":1,"visibility":"Public","body":"_ = allocate\n_.initialize do |_arg0|\n yield _arg0\nend\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","path":"LuckyFlow/Selenium/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver","abstract":true,"superclass":{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Chrome::Driver","name":"Driver"}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":33,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L33"},"def":{"name":"accept_alert","visibility":"Public","body":"session.alert_manager.accept_alert"}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":59,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L59"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"session.cookie_manager.add_cookie(key, value)"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":55,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L55"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"session.current_url"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":37,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L37"},"def":{"name":"dismiss_alert","visibility":"Public","body":"session.alert_manager.dismiss_alert"}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":47,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L47"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"find_elements(:css, query)"}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":51,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L51"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"find_elements(:xpath, query)"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":63,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L63"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"(session.cookie_manager.get_cookie(key)).value"}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":41,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L41"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"if midpoint = element.midpoint\n session.move_to(**midpoint)\nend"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":67,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L67"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"session.document_manager.page_source"}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":25,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L25"},"def":{"name":"maximize_window","visibility":"Public","body":"session.window_manager.maximize"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":71,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L71"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@session.try do |__arg0|\n __arg0.cookie_manager.delete_all_cookies\nend"}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L29"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"session.window_manager.resize_window(width: width, height: height)"}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L11"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"FileUtils.mkdir_p(File.dirname(path))\nsession.screenshot(path)\n"}},{"html_id":"shutdown:Nil-instance-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":79,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L79"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"@session.try(&.delete)\nstop\n"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":75,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L75"},"def":{"name":"stop","visibility":"Public","body":"@driver.try(&.stop)"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L16"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"session.navigate_to(url)"}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/driver.cr#L20"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":"result = session.window_manager.window_rect\n{width: result.width, height: result.height}\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Element","path":"LuckyFlow/Selenium/Element.html","kind":"class","full_name":"LuckyFlow::Selenium::Element","name":"Element","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"constructors":[{"html_id":"new(driver,raw_selector,inner_element:::Selenium::Element)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::Selenium::Element"}],"args_string":"(driver, raw_selector, inner_element : ::Selenium::Element)","args_html":"(driver, raw_selector, inner_element : ::Selenium::Element)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L6"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::Selenium::Element"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, raw_selector, inner_element)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L26"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@inner_element.attribute(name)"}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":22,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L22"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":"selected?"}},{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":38,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L38"},"def":{"name":"clear","visibility":"Public","body":"@inner_element.clear"}},{"html_id":"click-instance-method","name":"click","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":42,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L42"},"def":{"name":"click","visibility":"Public","body":"@inner_element.click"}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L14"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":"@inner_element.displayed?"}},{"html_id":"fill(value:Time)-instance-method","name":"fill","doc":"To set the value of date inputs correctly\nyou must put the year last\nbut it still submits the form with the date first\n...any questions?","summary":"

To set the value of date inputs correctly you must put the year last but it still submits the form with the date first ...any questions?

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"}],"args_string":"(value : Time)","args_html":"(value : Time)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L50"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"Time"}],"visibility":"Public","body":"fill(value.to_s(\"%m-%d-%Y\"))"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L70"},"def":{"name":"midpoint","return_type":"NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":"midpoint = @inner_element.rect.try(&.midpoint)\nif midpoint.nil?\n return\nend\n{x: midpoint.x, y: midpoint.y}\n"}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":30,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L30"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@inner_element.property(name)"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":58,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L58"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"select_el = ::Selenium::Helpers::Select.from_element(@inner_element)\nselect_el.select_by_value(value)\n"}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":63,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L63"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":"select_el = ::Selenium::Helpers::Select.from_element(@inner_element)\nif select_el.multiple?\nelse\n raise(LuckyFlow::InvalidMultiSelectError.new)\nend\nvalues.each do |value|\n select_el.select_by_value(value)\nend\n"}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L18"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":"@inner_element.selected?"}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":false,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":54,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L54"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":"@inner_element.send_keys(keys)"}},{"html_id":"send_keys(*args,**options)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L2"},"def":{"name":"send_keys","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@inner_element.send_keys(*args, **options)"}},{"html_id":"send_keys(*args,**options,&)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L2"},"def":{"name":"send_keys","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@inner_element.send_keys(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":34,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L34"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":"@inner_element.tag_name"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/selenium/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.text"}}]}]},{"html_id":"lucky_flow/LuckyFlow/Spec","path":"LuckyFlow/Spec.html","kind":"module","full_name":"LuckyFlow::Spec","name":"Spec","abstract":false,"locations":[{"filename":"src/lucky_flow/spec.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/spec.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"macros":[{"html_id":"setup-macro","name":"setup","abstract":false,"location":{"filename":"src/lucky_flow/spec.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/spec.cr#L2"},"def":{"name":"setup","visibility":"Public","body":" Spec.around_each do |spec|\n if driver_name = (spec.example._lucky_flow_all_tags & LuckyFlow::Registry.available).first?\n LuckyFlow.driver(driver_name)\n \nend\n\n spec.run\n\n LuckyFlow.reset\n LuckyFlow.use_default_driver\n \nend\n\n Spec.after_suite do\n LuckyFlow.shutdown\n \nend\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless","path":"LuckyFlow/Webless.html","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless","abstract":false,"locations":[{"filename":"src/lucky_flow/webless/browser.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Webless/Browser","path":"LuckyFlow/Webless/Browser.html","kind":"class","full_name":"LuckyFlow::Webless::Browser","name":"Browser","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/browser.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"REDIRECT_LIMIT","name":"REDIRECT_LIMIT","value":"5"}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(client:::Webless::Client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"::Webless::Client"}],"args_string":"(client : ::Webless::Client)","args_html":"(client : ::Webless::Client)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L6"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":"::Webless::Client"}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":41,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L41"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@client.cookie_jar[key] = value"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":33,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L33"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"@client.last_request_url"}},{"html_id":"find_css(query:String):Array(HTML5::Node)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(HTML5::Node)","args_html":"(query : String) : Array(HTML5::Node)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":25,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L25"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(HTML5::Node)","visibility":"Public","body":"parsed_html.css(query)"}},{"html_id":"find_xpath(query:String):Array(HTML5::Node)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(HTML5::Node)","args_html":"(query : String) : Array(HTML5::Node)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L29"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(HTML5::Node)","visibility":"Public","body":"parsed_html.xpath_nodes(query)"}},{"html_id":"follow(method:String,url:String)-instance-method","name":"follow","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String)","args_html":"(method : String, url : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L13"},"def":{"name":"follow","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@client.exec(method.upcase, url)\nhandle_redirects\n@parsed_html = nil\n"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L45"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@client.cookie_jar[key]?"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":49,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L49"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"@client.last_response.body"}},{"html_id":"reset-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":37,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L37"},"def":{"name":"reset","visibility":"Public","body":"@client.clear_cookies"}},{"html_id":"submit(request:HTTP::Request)-instance-method","name":"submit","abstract":false,"args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"args_string":"(request : HTTP::Request)","args_html":"(request : HTTP::Request)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":19,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L19"},"def":{"name":"submit","args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"visibility":"Public","body":"@client.exec(request)\nhandle_redirects\n@parsed_html = nil\n"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/browser.cr#L9"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"follow(\"GET\", url)"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Driver","path":"LuckyFlow/Webless/Driver.html","kind":"class","full_name":"LuckyFlow::Webless::Driver","name":"Driver","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(handlers:Array(HTTP::Handler))-class-method","name":"new","abstract":false,"args":[{"name":"handlers","external_name":"handlers","restriction":"Array(HTTP::Handler)"}],"args_string":"(handlers : Array(HTTP::Handler))","args_html":"(handlers : Array(HTTP::Handler))","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L2"},"def":{"name":"new","args":[{"name":"handlers","external_name":"handlers","restriction":"Array(HTTP::Handler)"}],"visibility":"Public","body":"new(HTTP::Server.build_middleware(handlers))"}},{"html_id":"new(handler:HTTP::Handler)-class-method","name":"new","abstract":false,"args":[{"name":"handler","external_name":"handler","restriction":"HTTP::Handler"}],"args_string":"(handler : HTTP::Handler)","args_html":"(handler : HTTP::Handler)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L8"},"def":{"name":"new","args":[{"name":"handler","external_name":"handler","restriction":"HTTP::Handler"}],"visibility":"Public","body":"_ = allocate\n_.initialize(handler)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":36,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L36"},"def":{"name":"accept_alert","visibility":"Public","body":"unsupported"}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":60,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L60"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@browser.add_cookie(key, value)"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":56,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L56"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"@browser.current_url"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L40"},"def":{"name":"dismiss_alert","visibility":"Public","body":"unsupported"}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":48,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L48"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"(@browser.find_css(query)).map do |el|\n element(query, el)\nend"}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":52,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L52"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"(@browser.find_xpath(query)).map do |el|\n element(query, el)\nend"}},{"html_id":"follow(method:String,url:String)-instance-method","name":"follow","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String)","args_html":"(method : String, url : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L20"},"def":{"name":"follow","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@browser.follow(method, url)"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":64,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L64"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@browser.get_cookie(key)"}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":44,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L44"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"unsupported"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":68,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L68"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"@browser.html"}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":28,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L28"},"def":{"name":"maximize_window","visibility":"Public","body":"unsupported"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":76,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L76"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@browser.reset"}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L32"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"unsupported"}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L12"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"unsupported"}},{"html_id":"shutdown:Nil-instance-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":84,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L84"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"stop"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":80,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L80"},"def":{"name":"stop","visibility":"Public","body":""}},{"html_id":"submit(request:HTTP::Request)-instance-method","name":"submit","abstract":false,"args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"args_string":"(request : HTTP::Request)","args_html":"(request : HTTP::Request)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":72,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L72"},"def":{"name":"submit","args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"visibility":"Public","body":"@browser.submit(request)"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L16"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@browser.visit(url)"}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/driver.cr#L24"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":"unsupported"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Element","path":"LuckyFlow/Webless/Element.html","kind":"class","full_name":"LuckyFlow::Webless::Element","name":"Element","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"VISIBILITY_XPATH","name":"VISIBILITY_XPATH","value":"\"boolean(./ancestor-or-self::*[(((./@style[(contains(., 'display:none') or contains(., 'display: none'))] or ./@hidden) or ((name(.) = 'script') or (name(.) = 'head'))) or (not(./self::summary) and ./parent::details[not(./@open)]))])\""}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(driver,raw_selector,inner_element:HTML5::Node)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::HTML5::Node"}],"args_string":"(driver, raw_selector, inner_element : HTML5::Node)","args_html":"(driver, raw_selector, inner_element : HTML5::Node)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L6"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::HTML5::Node"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, raw_selector, inner_element)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"append(value:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfield = el(\"input[name='comment']\")\nfield.fill(\"Lucky is:\")\n\nfield.append(\" So much fun!\")\n```","summary":"

Add text to the end of a field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":46,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L46"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"__temp_95 = find_or_create_attr(\"value\")\n__temp_95.val = __temp_95.val + value\n"}},{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":69,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L69"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"attr = _attribute(name)\nval = attr.try(&.val)\nif attr.nil? && (name == \"value\")\n val = \"\"\nend\nval\n"}},{"html_id":"check-instance-method","name":"check","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":174,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L174"},"def":{"name":"check","visibility":"Public","body":"if checkbox?\n set_checkbox(!checked?)\nelse\n if radio?\n set_radio\n end\nend"}},{"html_id":"checkbox?:Bool-instance-method","name":"checkbox?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":157,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L157"},"def":{"name":"checkbox?","return_type":"Bool","visibility":"Public","body":"(attribute(\"type\")) == \"checkbox\""}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":65,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L65"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":"(attribute(\"checked\")) == \"checked\""}},{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":91,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L91"},"def":{"name":"clear","visibility":"Public","body":"(_attribute(\"value\")).try(&.val = \"\")"}},{"html_id":"click-instance-method","name":"click","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L29"},"def":{"name":"click","visibility":"Public","body":"if link?\n method = (attribute(\"data-method\")) || \"get\"\n (driver.as(LuckyFlow::Webless::Driver)).follow(method, (attribute(\"href\")).to_s)\nelse\n if submits? && (f = form)\n (LuckyFlow::Webless::Form.new(f, @inner_element)).submit(driver.as(LuckyFlow::Webless::Driver))\n else\n if checkable?\n check\n end\n end\nend"}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":54,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L54"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":"if (tag_name == \"input\") && ((attribute(\"type\")) == \"hidden\")\n return false\nend\nif tag_name == \"template\"\n return false\nend\n(@driver.find_xpath(VISIBILITY_XPATH)).empty?\n"}},{"html_id":"fill(value:String)-instance-method","name":"fill","doc":"Set the text of a form field\n\n```\nfield = el(\"input[name='comment']\")\n\nfield.fill(\"Lucky is great!\")\n```","summary":"

Set the text of a form field

","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L40"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"if input_field? || textarea?\n set_input(value)\nend"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":115,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L115"},"def":{"name":"midpoint","return_type":"::NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":"unsupported"}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":83,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L83"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"attribute(name)"}},{"html_id":"radio?:Bool-instance-method","name":"radio?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":161,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L161"},"def":{"name":"radio?","return_type":"Bool","visibility":"Public","body":"(attribute(\"type\")) == \"radio\""}},{"html_id":"remove_attribute(name:String,element:HTML5::Node=@inner_element)-instance-method","name":"remove_attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"element","default_value":"@inner_element","external_name":"element","restriction":"HTML5::Node"}],"args_string":"(name : String, element : HTML5::Node = @inner_element)","args_html":"(name : String, element : HTML5::Node = @inner_element)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":79,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L79"},"def":{"name":"remove_attribute","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"element","default_value":"@inner_element","external_name":"element","restriction":"HTML5::Node"}],"visibility":"Public","body":"element.attr.reject! do |at|\n at.key == name\nend"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":95,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L95"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"(@inner_element.xpath_nodes(\".//option[@selected]\")).each do |node|\n remove_attribute(\"selected\", node)\nend\n(@inner_element.xpath(\".//option[@value='#{value}']\")).try do |el|\n (find_or_create_attr(\"selected\", el)).val = \"selected\"\nend\n"}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":103,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L103"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":"if multiple?\nelse\n raise(LuckyFlow::InvalidMultiSelectError.new)\nend\n(@inner_element.xpath_nodes(\".//option[@selected]\")).each do |node|\n remove_attribute(\"selected\", node)\nend\nvalues.each do |value|\n (@inner_element.xpath(\".//option[@value='#{value}']\")).try do |el|\n (find_or_create_attr(\"selected\", el)).val = \"selected\"\n end\nend\n"}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":61,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L61"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":"(attribute(\"selected\")) == \"selected\""}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":false,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L50"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":"append(keys.join)"}},{"html_id":"set_checkbox(value:Bool)-instance-method","name":"set_checkbox","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool)","args_html":"(value : Bool)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":192,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L192"},"def":{"name":"set_checkbox","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"visibility":"Public","body":"if value\n checked = find_or_create_attr(\"checked\")\n checked.val = \"checked\"\nelse\n remove_attribute(\"checked\")\nend"}},{"html_id":"set_radio-instance-method","name":"set_radio","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":182,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L182"},"def":{"name":"set_radio","visibility":"Public","body":"if name = attribute(\"name\")\n (driver.find_xpath(\"//input[(./@name = '#{name}')]\")).each do |node|\n remove_attribute(\"checked\", (node.as(LuckyFlow::Webless::Element)).inner_element)\n end\nend\nchecked = find_or_create_attr(\"checked\")\nchecked.val = \"checked\"\n"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":87,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L87"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":"@inner_element.data"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.inner_text"}},{"html_id":"value-instance-method","name":"value","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/element.cr#L14"},"def":{"name":"value","visibility":"Public","body":"if tag_name == \"select\"\n selected_options = @inner_element.xpath_nodes(\".//option[@selected]\")\n if multiple?\n selected_options.map do |option|\n option[\"value\"]? || option.inner_text\n end\n else\n option = selected_options.first? || (@inner_element.xpath(\".//option\"))\n if option.nil?\n raise(\"expected select to contain an option\")\n end\n option[\"value\"]?.try(&.val) || option.inner_text\n end\nelse\n attribute(\"value\")\nend"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Form","path":"LuckyFlow/Webless/Form.html","kind":"class","full_name":"LuckyFlow::Webless::Form","name":"Form","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/form.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/form.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ALL_FORM_FIELDS","name":"ALL_FORM_FIELDS","value":"\".//*[self::input | self::select | self::textarea | self::button][not(./@form)][not(./@disabled)]\""},{"id":"ALL_FORM_FIELDS_WITH_FORM_ID","name":"ALL_FORM_FIELDS_WITH_FORM_ID","value":"\".//*[self::input | self::select | self::textarea | self::button][not(./@form)][not(./@disabled)] | //*[self::input | self::select | self::textarea | self::button][(./@form = '%s')][not(./@disabled)]\""}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(form_node:HTML5::Node,submit_node:HTML5::Node)-class-method","name":"new","abstract":false,"args":[{"name":"form_node","external_name":"form_node","restriction":"::HTML5::Node"},{"name":"submit_node","external_name":"submit_node","restriction":"::HTML5::Node"}],"args_string":"(form_node : HTML5::Node, submit_node : HTML5::Node)","args_html":"(form_node : HTML5::Node, submit_node : HTML5::Node)","location":{"filename":"src/lucky_flow/webless/form.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/form.cr#L7"},"def":{"name":"new","args":[{"name":"form_node","external_name":"form_node","restriction":"::HTML5::Node"},{"name":"submit_node","external_name":"submit_node","restriction":"::HTML5::Node"}],"visibility":"Public","body":"_ = allocate\n_.initialize(form_node, submit_node)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"submit(driver:LuckyFlow::Webless::Driver)-instance-method","name":"submit","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Webless::Driver"}],"args_string":"(driver : LuckyFlow::Webless::Driver)","args_html":"(driver : LuckyFlow::Webless::Driver)","location":{"filename":"src/lucky_flow/webless/form.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/lucky_flow/webless/form.cr#L10"},"def":{"name":"submit","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Webless::Driver"}],"visibility":"Public","body":"form_field_xpath = if (id_attr = @form_node[\"id\"]?) && (!id_attr.val.blank?)\n ALL_FORM_FIELDS_WITH_FORM_ID % id_attr.val\nelse\n ALL_FORM_FIELDS\nend\nform_field_nodes = @form_node.xpath_nodes(form_field_xpath)\nform_field_nodes.reject! do |node|\n (submitter?(node)) && (node != submit_node)\nend\nform_values = form_field_nodes.compact_map do |form_field_node|\n case form_field_node.data\n when \"input\"\n parse_input_field(form_field_node)\n when \"textarea\"\n parse_textarea_field(form_field_node)\n when \"select\"\n parse_select_field(form_field_node)\n end\nend.to_h\nrequest_method = @form_node[\"method\"]?.try(&.val) == \"post\" ? :post : :get\nrequest_path = @submit_node[\"formaction\"]?.try() do |__arg1|\n __arg1.val.presence\nend || @form_node[\"action\"].val\nrequest = (((::Webless::RequestBuilder.new.method(request_method)).path(request_path)).form(form_values, multipart?)).build\ndriver.submit(request)\n"}}]}]}]},{"html_id":"lucky_flow/Spec","path":"Spec.html","kind":"module","full_name":"Spec","name":"Spec","abstract":false,"locations":[{"filename":"src/ext/spec/item.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/spec/item.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"lucky_flow/Spec/Item","path":"Spec/Item.html","kind":"module","full_name":"Spec::Item","name":"Item","abstract":false,"locations":[{"filename":"src/ext/spec/item.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/2c0c21ce672353096f37a07e8b842e859dcda63d/src/ext/spec/item.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/Spec","kind":"module","full_name":"Spec","name":"Spec"}}]}]}}) \ No newline at end of file