From 87884fff3a9c30cb90b38eb2bb7ee19ba3854ed1 Mon Sep 17 00:00:00 2001 From: jwoertink Date: Thu, 29 Feb 2024 16:13:32 +0000 Subject: [PATCH] deploy: f89f7b817b9d4da38e653b9b884bafdea21278c7 --- 404.html | 17 +- AuthenticLuckyFlowHelpers.html | 31 +- AvramLuckyFlowHelpers.html | 29 +- LuckyActionLuckyFlowHelpers.html | 31 +- LuckyFlow.html | 125 ++-- LuckyFlow/Driver.html | 151 ++-- LuckyFlow/DriverInstallationError.html | 33 +- LuckyFlow/Element.html | 165 +++-- LuckyFlow/ElementNotFoundError.html | 33 +- LuckyFlow/Error.html | 28 +- LuckyFlow/ErrorMessageWhenNotFound.html | 41 +- LuckyFlow/Expectations.html | 21 +- .../HaveCurrentPathExpectation.html | 44 +- .../Expectations/HaveElementExpectation.html | 44 +- .../Expectations/HaveTextExpectation.html | 44 +- LuckyFlow/FindElement.html | 39 +- LuckyFlow/HabitatSettings.html | 25 +- LuckyFlow/InfiniteRedirectError.html | 31 +- LuckyFlow/InvalidMultiSelectError.html | 36 +- LuckyFlow/InvalidOperationError.html | 31 +- LuckyFlow/NotSupportedByDriverError.html | 31 +- LuckyFlow/NotSupportedByElementError.html | 31 +- LuckyFlow/Registry.html | 41 +- LuckyFlow/Selector.html | 37 +- LuckyFlow/Selenium.html | 28 +- LuckyFlow/Selenium/Chrome.html | 19 +- LuckyFlow/Selenium/Chrome/Driver.html | 42 +- LuckyFlow/Selenium/Driver.html | 81 ++- LuckyFlow/Selenium/Element.html | 79 ++- LuckyFlow/Selenium/Firefox.html | 359 ++++++++++ LuckyFlow/Selenium/Firefox/Driver.html | 643 ++++++++++++++++++ LuckyFlow/Spec.html | 29 +- LuckyFlow/Webless.html | 19 +- LuckyFlow/Webless/Browser.html | 55 +- LuckyFlow/Webless/Driver.html | 87 ++- LuckyFlow/Webless/Element.html | 91 ++- LuckyFlow/Webless/Form.html | 37 +- Spec.html | 19 +- Spec/Item.html | 19 +- index.html | 17 +- index.json | 2 +- search-index.js | 2 +- 42 files changed, 2321 insertions(+), 446 deletions(-) create mode 100644 LuckyFlow/Selenium/Firefox.html create mode 100644 LuckyFlow/Selenium/Firefox/Driver.html diff --git a/404.html b/404.html index fbaff21..64037a5 100644 --- a/404.html +++ b/404.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

+
  • + Firefox + + + + +
  • + diff --git a/AuthenticLuckyFlowHelpers.html b/AuthenticLuckyFlowHelpers.html index 36c6113..212ef15 100644 --- a/AuthenticLuckyFlowHelpers.html +++ b/AuthenticLuckyFlowHelpers.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -333,7 +348,7 @@

    - + ext/authentic.cr @@ -348,6 +363,8 @@

    + +

    - -
    @@ -383,6 +398,8 @@

    + +


    - [View source] + [View source]
    @@ -419,15 +436,13 @@


    - [View source] + [View source]
    - - diff --git a/AvramLuckyFlowHelpers.html b/AvramLuckyFlowHelpers.html index 6b1eabf..81bbd10 100644 --- a/AvramLuckyFlowHelpers.html +++ b/AvramLuckyFlowHelpers.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -333,7 +348,7 @@

    - + ext/avram.cr @@ -348,6 +363,8 @@

    + +

    - -
    @@ -380,6 +395,8 @@

    + +


    - - diff --git a/LuckyActionLuckyFlowHelpers.html b/LuckyActionLuckyFlowHelpers.html index 14c08ba..24a03c6 100644 --- a/LuckyActionLuckyFlowHelpers.html +++ b/LuckyActionLuckyFlowHelpers.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -333,7 +348,7 @@

    - + ext/lucky.cr @@ -348,6 +363,8 @@

    + +

    - -
    @@ -383,6 +398,8 @@

    + +


    @@ -419,15 +436,13 @@


    - - diff --git a/LuckyFlow.html b/LuckyFlow.html index 5185a6d..272f0df 100644 --- a/LuckyFlow.html +++ b/LuckyFlow.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -344,56 +359,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 @@ -484,6 +499,8 @@

    + +

    - - @@ -766,7 +805,7 @@


    @@ -782,7 +821,7 @@


    @@ -798,7 +837,7 @@


    @@ -814,7 +853,7 @@


    @@ -830,7 +869,7 @@


    @@ -846,7 +885,7 @@


    @@ -862,7 +901,7 @@


    @@ -870,6 +909,8 @@

    + +


    @@ -914,7 +955,7 @@


    @@ -930,7 +971,7 @@


    @@ -946,7 +987,7 @@


    @@ -962,7 +1003,7 @@


    @@ -978,7 +1019,7 @@


    @@ -994,7 +1035,7 @@


    @@ -1010,7 +1051,7 @@


    @@ -1026,7 +1067,7 @@


    @@ -1042,7 +1083,7 @@


    @@ -1064,7 +1105,7 @@


    @@ -1080,7 +1121,7 @@


    @@ -1096,7 +1137,7 @@


    @@ -1112,7 +1153,7 @@


    @@ -1128,7 +1169,7 @@


    @@ -1153,7 +1194,7 @@


    @@ -1169,7 +1210,7 @@


    @@ -1185,7 +1226,7 @@


    @@ -1201,7 +1242,7 @@


    @@ -1217,7 +1258,7 @@


    @@ -1233,7 +1274,7 @@


    @@ -1249,15 +1290,13 @@


    - - diff --git a/LuckyFlow/Driver.html b/LuckyFlow/Driver.html index 3d7b949..5da4eaf 100644 --- a/LuckyFlow/Driver.html +++ b/LuckyFlow/Driver.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -325,7 +340,7 @@

    - + lucky_flow/driver.cr @@ -340,6 +355,25 @@

    +

    + + + + Macro Summary +

    + + + +

    -

    - - - - Macro Summary -

    - - -
    - @@ -475,6 +493,9 @@

    + + + @@ -487,6 +508,34 @@

    +

    + + + + Macro Detail +

    + +
    +
    + + macro unsupported + + # +
    + +
    +
    + + [View source] + +
    +
    + + + +


    @@ -523,7 +572,7 @@


    @@ -539,7 +588,7 @@


    @@ -555,7 +604,7 @@


    @@ -571,7 +620,7 @@


    @@ -587,7 +636,7 @@


    @@ -603,7 +652,7 @@


    @@ -619,7 +668,7 @@


    @@ -635,7 +684,7 @@


    @@ -651,7 +700,7 @@


    @@ -667,7 +716,7 @@


    @@ -683,7 +732,7 @@


    @@ -699,7 +748,7 @@


    @@ -715,7 +764,7 @@


    @@ -731,7 +780,7 @@


    @@ -747,7 +796,7 @@


    @@ -763,35 +812,7 @@


    - [View source] - -
    - - - - - -

    - - - - Macro Detail -

    - -
    -
    - - macro unsupported - - # -
    - -
    -
    diff --git a/LuckyFlow/DriverInstallationError.html b/LuckyFlow/DriverInstallationError.html index 54af2e5..1d71f09 100644 --- a/LuckyFlow/DriverInstallationError.html +++ b/LuckyFlow/DriverInstallationError.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/errors.cr @@ -356,6 +371,9 @@

    + + + @@ -366,12 +384,18 @@

    + + + + + + @@ -382,6 +406,9 @@

    + + + @@ -410,7 +437,7 @@


    diff --git a/LuckyFlow/Element.html b/LuckyFlow/Element.html index 6982f60..cf7461f 100644 --- a/LuckyFlow/Element.html +++ b/LuckyFlow/Element.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -325,7 +340,7 @@

    - + lucky_flow/element.cr @@ -340,6 +355,25 @@

    +

    + + + + Macro Summary +

    + + + +

    -

    - - - - Macro Summary -

    - - -
    - @@ -514,6 +532,9 @@

    + + + @@ -526,6 +547,34 @@

    +

    + + + + Macro Detail +

    + +
    +
    + + macro unsupported + + # +
    + +
    +
    + + [View source] + +
    +
    + + + +


    @@ -571,7 +620,7 @@


    @@ -587,7 +636,7 @@


    @@ -603,7 +652,7 @@


    @@ -619,7 +668,7 @@


    @@ -635,7 +684,7 @@


    @@ -651,7 +700,7 @@


    @@ -667,7 +716,7 @@


    @@ -691,7 +740,7 @@


    @@ -707,7 +756,7 @@


    @@ -723,7 +772,7 @@


    @@ -739,7 +788,7 @@


    @@ -755,7 +804,7 @@


    @@ -771,7 +820,7 @@


    @@ -787,7 +836,7 @@


    @@ -803,7 +852,7 @@


    @@ -819,7 +868,7 @@


    @@ -835,7 +884,7 @@


    @@ -851,7 +900,7 @@


    @@ -867,7 +916,7 @@


    @@ -883,7 +932,7 @@


    @@ -899,7 +948,7 @@


    @@ -915,7 +964,7 @@


    @@ -931,35 +980,7 @@


    - [View source] - -
    - - - - - -

    - - - - Macro Detail -

    - -
    -
    - - macro unsupported - - # -
    - -
    -
    diff --git a/LuckyFlow/ElementNotFoundError.html b/LuckyFlow/ElementNotFoundError.html index 7f7ada6..9d2f6d2 100644 --- a/LuckyFlow/ElementNotFoundError.html +++ b/LuckyFlow/ElementNotFoundError.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/errors.cr @@ -356,6 +371,9 @@

    + + + @@ -366,12 +384,18 @@

    + + + + + + @@ -382,6 +406,9 @@

    + + + @@ -410,7 +437,7 @@


    diff --git a/LuckyFlow/Error.html b/LuckyFlow/Error.html index 1b3beff..b229c8e 100644 --- a/LuckyFlow/Error.html +++ b/LuckyFlow/Error.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -345,7 +360,7 @@

    - + lucky_flow/errors.cr @@ -375,12 +390,18 @@

    + + + + + + @@ -391,6 +412,9 @@

    + + + diff --git a/LuckyFlow/ErrorMessageWhenNotFound.html b/LuckyFlow/ErrorMessageWhenNotFound.html index f33b1b8..71f80a8 100644 --- a/LuckyFlow/ErrorMessageWhenNotFound.html +++ b/LuckyFlow/ErrorMessageWhenNotFound.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/error_message_when_not_found.cr @@ -358,6 +373,8 @@

    + +

    - - @@ -457,7 +478,7 @@


    @@ -465,6 +486,8 @@

    + +


    @@ -501,15 +524,13 @@


    - - diff --git a/LuckyFlow/Expectations.html b/LuckyFlow/Expectations.html index 79b814d..f92ec35 100644 --- a/LuckyFlow/Expectations.html +++ b/LuckyFlow/Expectations.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -321,14 +336,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 2dc5c5f..a678093 100644 --- a/LuckyFlow/Expectations/HaveCurrentPathExpectation.html +++ b/LuckyFlow/Expectations/HaveCurrentPathExpectation.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/expectations/have_current_path_expectation.cr @@ -341,6 +356,8 @@

    + +

    - - @@ -437,6 +461,8 @@

    + +


    @@ -473,7 +499,7 @@


    @@ -489,15 +515,13 @@


    - - diff --git a/LuckyFlow/Expectations/HaveElementExpectation.html b/LuckyFlow/Expectations/HaveElementExpectation.html index 67109f0..8a3aabe 100644 --- a/LuckyFlow/Expectations/HaveElementExpectation.html +++ b/LuckyFlow/Expectations/HaveElementExpectation.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/expectations/have_element_expectation.cr @@ -341,6 +356,8 @@

    + +

    - - @@ -437,6 +461,8 @@

    + +


    @@ -473,7 +499,7 @@


    @@ -489,15 +515,13 @@


    - - diff --git a/LuckyFlow/Expectations/HaveTextExpectation.html b/LuckyFlow/Expectations/HaveTextExpectation.html index 52697ea..3dcaaf0 100644 --- a/LuckyFlow/Expectations/HaveTextExpectation.html +++ b/LuckyFlow/Expectations/HaveTextExpectation.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/expectations/have_text_expectation.cr @@ -341,6 +356,8 @@

    + +

    - - @@ -437,6 +461,8 @@

    + +


    @@ -473,7 +499,7 @@


    @@ -489,15 +515,13 @@


    - - diff --git a/LuckyFlow/FindElement.html b/LuckyFlow/FindElement.html index 4e304b7..c97ad1d 100644 --- a/LuckyFlow/FindElement.html +++ b/LuckyFlow/FindElement.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -320,7 +335,7 @@

    - + lucky_flow/find_element.cr @@ -369,6 +384,8 @@

    + +

    - - @@ -463,7 +484,7 @@


    @@ -471,6 +492,8 @@

    + +


    - - diff --git a/LuckyFlow/HabitatSettings.html b/LuckyFlow/HabitatSettings.html index f2affdf..7f1cb8b 100644 --- a/LuckyFlow/HabitatSettings.html +++ b/LuckyFlow/HabitatSettings.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow.cr @@ -443,12 +458,18 @@

    + + + + + + diff --git a/LuckyFlow/InfiniteRedirectError.html b/LuckyFlow/InfiniteRedirectError.html index 25e5847..637bc07 100644 --- a/LuckyFlow/InfiniteRedirectError.html +++ b/LuckyFlow/InfiniteRedirectError.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/errors.cr @@ -339,6 +354,9 @@

    + + + @@ -349,12 +367,18 @@

    + + + + + + @@ -365,6 +389,9 @@

    + + + diff --git a/LuckyFlow/InvalidMultiSelectError.html b/LuckyFlow/InvalidMultiSelectError.html index 8e17d70..b1aef79 100644 --- a/LuckyFlow/InvalidMultiSelectError.html +++ b/LuckyFlow/InvalidMultiSelectError.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/errors.cr @@ -356,6 +371,9 @@

    + + + @@ -366,6 +384,9 @@

    + + + @@ -376,12 +397,18 @@

    + + + + + + @@ -392,6 +419,9 @@

    + + + @@ -420,7 +450,7 @@


    diff --git a/LuckyFlow/InvalidOperationError.html b/LuckyFlow/InvalidOperationError.html index d13c1be..c51c13f 100644 --- a/LuckyFlow/InvalidOperationError.html +++ b/LuckyFlow/InvalidOperationError.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -323,7 +338,7 @@

    - + lucky_flow/errors.cr @@ -353,6 +368,9 @@

    + + + @@ -363,12 +381,18 @@

    + + + + + + @@ -379,6 +403,9 @@

    + + + diff --git a/LuckyFlow/NotSupportedByDriverError.html b/LuckyFlow/NotSupportedByDriverError.html index 0b993ae..537cbfc 100644 --- a/LuckyFlow/NotSupportedByDriverError.html +++ b/LuckyFlow/NotSupportedByDriverError.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/errors.cr @@ -339,6 +354,9 @@

    + + + @@ -349,12 +367,18 @@

    + + + + + + @@ -365,6 +389,9 @@

    + + + diff --git a/LuckyFlow/NotSupportedByElementError.html b/LuckyFlow/NotSupportedByElementError.html index 8b5d881..9e4f961 100644 --- a/LuckyFlow/NotSupportedByElementError.html +++ b/LuckyFlow/NotSupportedByElementError.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/errors.cr @@ -339,6 +354,9 @@

    + + + @@ -349,12 +367,18 @@

    + + + + + + @@ -365,6 +389,9 @@

    + + + diff --git a/LuckyFlow/Registry.html b/LuckyFlow/Registry.html index 8a532fb..79ef784 100644 --- a/LuckyFlow/Registry.html +++ b/LuckyFlow/Registry.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/registry.cr @@ -391,12 +406,18 @@

    + + + + + + @@ -427,7 +448,7 @@


    @@ -443,7 +464,7 @@


    @@ -459,7 +480,7 @@


    @@ -475,7 +496,7 @@


    @@ -491,7 +512,7 @@


    @@ -507,7 +528,7 @@


    @@ -523,7 +544,7 @@


    @@ -539,7 +560,7 @@


    diff --git a/LuckyFlow/Selector.html b/LuckyFlow/Selector.html index 316c919..c182319 100644 --- a/LuckyFlow/Selector.html +++ b/LuckyFlow/Selector.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -323,7 +338,7 @@

    - + lucky_flow/selector.cr @@ -355,6 +370,8 @@

    + +

    - - @@ -431,6 +452,8 @@

    + +


    - - diff --git a/LuckyFlow/Selenium.html b/LuckyFlow/Selenium.html index 1139208..ac05ae7 100644 --- a/LuckyFlow/Selenium.html +++ b/LuckyFlow/Selenium.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -307,19 +322,26 @@

    - + lucky_flow/selenium/chrome/driver.cr
    - + lucky_flow/selenium/driver.cr
    + + + lucky_flow/selenium/firefox/driver.cr + + +
    + diff --git a/LuckyFlow/Selenium/Chrome.html b/LuckyFlow/Selenium/Chrome.html index b8d47b6..4f7f1ab 100644 --- a/LuckyFlow/Selenium/Chrome.html +++ b/LuckyFlow/Selenium/Chrome.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -307,7 +322,7 @@

    - + lucky_flow/selenium/chrome/driver.cr diff --git a/LuckyFlow/Selenium/Chrome/Driver.html b/LuckyFlow/Selenium/Chrome/Driver.html index 60f489a..2a3a361 100644 --- a/LuckyFlow/Selenium/Chrome/Driver.html +++ b/LuckyFlow/Selenium/Chrome/Driver.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/selenium/chrome/driver.cr @@ -445,6 +460,9 @@

    Instance methods inherited from class Macros inherited from class LuckyFlow::Driver

    + + + + unsupported + unsupported + + + + @@ -554,12 +584,18 @@

    Instance methods inherited from class View source] + [View source] diff --git a/LuckyFlow/Selenium/Driver.html b/LuckyFlow/Selenium/Driver.html index 3a93ae0..7cfdc52 100644 --- a/LuckyFlow/Selenium/Driver.html +++ b/LuckyFlow/Selenium/Driver.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -306,6 +321,8 @@

  • LuckyFlow::Selenium::Chrome::Driver
  • +
  • LuckyFlow::Selenium::Firefox::Driver
  • + @@ -323,7 +340,7 @@

    - + lucky_flow/selenium/driver.cr @@ -338,6 +355,8 @@

    + +

    - - @@ -603,7 +640,7 @@


    @@ -619,7 +656,7 @@


    @@ -635,7 +672,7 @@


    @@ -651,7 +688,7 @@


    @@ -667,7 +704,7 @@


    @@ -683,7 +720,7 @@


    @@ -699,7 +736,7 @@


    @@ -715,7 +752,7 @@


    @@ -731,7 +768,7 @@


    @@ -747,7 +784,7 @@


    @@ -763,7 +800,7 @@


    @@ -779,7 +816,7 @@


    @@ -795,7 +832,7 @@


    @@ -811,7 +848,7 @@


    @@ -827,7 +864,7 @@


    @@ -843,15 +880,13 @@


    - - diff --git a/LuckyFlow/Selenium/Element.html b/LuckyFlow/Selenium/Element.html index 2ad6cc4..a1c0fed 100644 --- a/LuckyFlow/Selenium/Element.html +++ b/LuckyFlow/Selenium/Element.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/selenium/element.cr @@ -341,6 +356,8 @@

    + +

    - -
    @@ -554,7 +569,22 @@

    Instance methods inherited from class LuckyFlow::Element

    + + + unsupported + unsupported + + + + + + + + @@ -570,6 +600,9 @@

    Instance methods inherited from class View source] + [View source]

    @@ -608,6 +641,8 @@

    + +


    @@ -644,7 +679,7 @@


    @@ -660,7 +695,7 @@


    @@ -676,7 +711,7 @@


    @@ -692,7 +727,7 @@


    @@ -716,7 +751,7 @@


    @@ -732,7 +767,7 @@


    @@ -748,7 +783,7 @@


    @@ -764,7 +799,7 @@


    @@ -780,7 +815,7 @@


    @@ -796,7 +831,7 @@


    @@ -812,7 +847,7 @@


    @@ -828,7 +863,7 @@


    @@ -844,7 +879,7 @@


    @@ -860,7 +895,7 @@


    @@ -876,15 +911,13 @@


    - - diff --git a/LuckyFlow/Selenium/Firefox.html b/LuckyFlow/Selenium/Firefox.html new file mode 100644 index 0000000..27989d3 --- /dev/null +++ b/LuckyFlow/Selenium/Firefox.html @@ -0,0 +1,359 @@ + + + + + + + + + + + + + + + + + LuckyFlow::Selenium::Firefox - lucky_flow main + + + + + + + + + + +
    +

    + + module LuckyFlow::Selenium::Firefox + +

    + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + lucky_flow/selenium/firefox/driver.cr + + +
    + + + + + + + + + + + + + + +
    + +
    + + + + + + + + + +
    + + + diff --git a/LuckyFlow/Selenium/Firefox/Driver.html b/LuckyFlow/Selenium/Firefox/Driver.html new file mode 100644 index 0000000..0d4a44d --- /dev/null +++ b/LuckyFlow/Selenium/Firefox/Driver.html @@ -0,0 +1,643 @@ + + + + + + + + + + + + + + + + + LuckyFlow::Selenium::Firefox::Driver - lucky_flow main + + + + + + + + + + +
    +

    + + class LuckyFlow::Selenium::Firefox::Driver + +

    + + + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + lucky_flow/selenium/firefox/driver.cr + + +
    + + + + + + +

    + + + + Constructors +

    + + + + + + + + + + +
    + + + +

    Instance methods inherited from class LuckyFlow::Selenium::Driver

    + + + + accept_alert + accept_alert, + + + + add_cookie(key : String, value : String) + add_cookie, + + + + current_url : String + current_url, + + + + dismiss_alert + dismiss_alert, + + + + find_css(query : String) : Array(LuckyFlow::Element) + find_css, + + + + find_xpath(query : String) : Array(LuckyFlow::Element) + find_xpath, + + + + get_cookie(key : String) : String | Nil + get_cookie, + + + + hover(element : LuckyFlow::Element) + hover, + + + + html : String + html, + + + + maximize_window + maximize_window, + + + + reset : Nil + reset, + + + + resize_window(width : Int64 | Nil, height : Int64 | Nil) + resize_window, + + + + screenshot(path : String) + screenshot, + + + + shutdown : Nil + shutdown, + + + + stop + stop, + + + + visit(url : String) + visit, + + + + window_size : NamedTuple(width: Int64 | Nil, height: Int64 | Nil) + window_size + + + + + + + + + + + + + + + + +

    Instance methods inherited from class LuckyFlow::Driver

    + + + + accept_alert + accept_alert, + + + + add_cookie(key : String, value : String) + add_cookie, + + + + current_url : String + current_url, + + + + dismiss_alert + dismiss_alert, + + + + find_css(query : String) : Array(LuckyFlow::Element) + find_css, + + + + find_xpath(query : String) : Array(LuckyFlow::Element) + find_xpath, + + + + get_cookie(key : String) : String | Nil + get_cookie, + + + + hover(element : LuckyFlow::Element) + hover, + + + + html : String + html, + + + + maximize_window + maximize_window, + + + + reset + reset, + + + + resize_window(width : Int64 | Nil, height : Int64 | Nil) + resize_window, + + + + screenshot(path : String) + screenshot, + + + + shutdown + shutdown, + + + + stop + stop, + + + + visit(url : String) + visit, + + + + window_size : NamedTuple(width: Int64 | Nil, height: Int64 | Nil) + window_size + + + + + + + + + + + + +

    Macros inherited from class LuckyFlow::Driver

    + + + + unsupported + unsupported + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(&) + + # +
    + +
    +
    + + [View source] + +
    +
    + + + + + + + + + +
    + + + diff --git a/LuckyFlow/Spec.html b/LuckyFlow/Spec.html index 172548f..51ec493 100644 --- a/LuckyFlow/Spec.html +++ b/LuckyFlow/Spec.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -307,7 +322,7 @@

    - + lucky_flow/spec.cr @@ -322,8 +337,6 @@

    - -

    + +
    @@ -352,8 +367,6 @@

    - -


    + + diff --git a/LuckyFlow/Webless.html b/LuckyFlow/Webless.html index 8d30a7f..0c85bca 100644 --- a/LuckyFlow/Webless.html +++ b/LuckyFlow/Webless.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -307,7 +322,7 @@

    - + lucky_flow/webless/browser.cr diff --git a/LuckyFlow/Webless/Browser.html b/LuckyFlow/Webless/Browser.html index ac6a9b4..95572c3 100644 --- a/LuckyFlow/Webless/Browser.html +++ b/LuckyFlow/Webless/Browser.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/webless/browser.cr @@ -360,6 +375,8 @@

    + +

    - - @@ -481,6 +502,8 @@

    + +


    @@ -517,7 +540,7 @@


    @@ -533,7 +556,7 @@


    @@ -549,7 +572,7 @@


    @@ -565,7 +588,7 @@


    @@ -581,7 +604,7 @@


    @@ -597,7 +620,7 @@


    @@ -613,7 +636,7 @@


    @@ -629,7 +652,7 @@


    @@ -645,15 +668,13 @@


    - - diff --git a/LuckyFlow/Webless/Driver.html b/LuckyFlow/Webless/Driver.html index 3b1c9b2..1d3e927 100644 --- a/LuckyFlow/Webless/Driver.html +++ b/LuckyFlow/Webless/Driver.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/webless/driver.cr @@ -346,6 +361,8 @@

    + +

    - -
    @@ -557,7 +572,22 @@

    Instance methods inherited from class LuckyFlow::Driver

    + + + unsupported + unsupported + + + + + + + + @@ -573,6 +603,9 @@

    Instance methods inherited from class View source] + [View source]

    @@ -617,7 +650,7 @@


    @@ -627,6 +660,8 @@

    + +


    @@ -663,7 +698,7 @@


    @@ -679,7 +714,7 @@


    @@ -695,7 +730,7 @@


    @@ -711,7 +746,7 @@


    @@ -727,7 +762,7 @@


    @@ -743,7 +778,7 @@


    @@ -759,7 +794,7 @@


    @@ -775,7 +810,7 @@


    @@ -791,7 +826,7 @@


    @@ -807,7 +842,7 @@


    @@ -823,7 +858,7 @@


    @@ -839,7 +874,7 @@


    @@ -855,7 +890,7 @@


    @@ -871,7 +906,7 @@


    @@ -887,7 +922,7 @@


    @@ -903,7 +938,7 @@


    @@ -919,7 +954,7 @@


    @@ -935,15 +970,13 @@


    - - diff --git a/LuckyFlow/Webless/Element.html b/LuckyFlow/Webless/Element.html index 9008450..e4ea23c 100644 --- a/LuckyFlow/Webless/Element.html +++ b/LuckyFlow/Webless/Element.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/webless/element.cr @@ -360,6 +375,8 @@

    + +

    - -
    @@ -605,7 +620,22 @@

    Instance methods inherited from class LuckyFlow::Element

    + + + unsupported + unsupported + + + + + + + + @@ -621,6 +651,9 @@

    Instance methods inherited from class View source] + [View source]

    @@ -659,6 +692,8 @@

    + +


    @@ -708,7 +743,7 @@


    @@ -724,7 +759,7 @@


    @@ -740,7 +775,7 @@


    @@ -756,7 +791,7 @@


    @@ -772,7 +807,7 @@


    @@ -788,7 +823,7 @@


    @@ -804,7 +839,7 @@


    @@ -832,7 +867,7 @@


    @@ -848,7 +883,7 @@


    @@ -864,7 +899,7 @@


    @@ -880,7 +915,7 @@


    @@ -896,7 +931,7 @@


    @@ -912,7 +947,7 @@


    @@ -928,7 +963,7 @@


    @@ -944,7 +979,7 @@


    @@ -960,7 +995,7 @@


    @@ -976,7 +1011,7 @@


    @@ -992,7 +1027,7 @@


    @@ -1008,7 +1043,7 @@


    @@ -1024,7 +1059,7 @@


    @@ -1040,15 +1075,13 @@


    - - diff --git a/LuckyFlow/Webless/Form.html b/LuckyFlow/Webless/Form.html index dfa4451..2157ae1 100644 --- a/LuckyFlow/Webless/Form.html +++ b/LuckyFlow/Webless/Form.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -309,7 +324,7 @@

    - + lucky_flow/webless/form.cr @@ -365,6 +380,8 @@

    + +

    - - @@ -441,6 +462,8 @@

    + +


    - - diff --git a/Spec.html b/Spec.html index 610b05a..e9da813 100644 --- a/Spec.html +++ b/Spec.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -307,7 +322,7 @@

    - + ext/spec/item.cr diff --git a/Spec/Item.html b/Spec/Item.html index 6f5e24b..160307e 100644 --- a/Spec/Item.html +++ b/Spec/Item.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + @@ -307,7 +322,7 @@

    - + ext/spec/item.cr diff --git a/index.html b/index.html index cc110bb..8ac4848 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - + @@ -207,6 +207,21 @@

    +
  • + Firefox + + + + +
  • + diff --git a/index.json b/index.json index 8ab7340..8703855 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/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 +{"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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/ext/authentic.cr#L23"},{"filename":"src/ext/avram.cr","line_number":31,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/ext/avram.cr#L31"},{"filename":"src/ext/lucky.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/ext/lucky.cr#L17"},{"filename":"src/lucky_flow.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow.cr#L7"},{"filename":"src/lucky_flow.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow.cr#L13"},{"filename":"src/lucky_flow/errors.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/errors.cr#L1"},{"filename":"src/lucky_flow/expectations.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/expectations.cr#L3"},{"filename":"src/lucky_flow/version.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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_95 = name\n@@running_registry[__temp_95]? || (@@running_registry[__temp_95] = @@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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/selenium/driver.cr#L1"},{"filename":"src/lucky_flow/selenium/firefox/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/selenium/firefox/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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"},{"html_id":"lucky_flow/LuckyFlow/Selenium/Firefox/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Firefox::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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/selenium/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.text"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Firefox","path":"LuckyFlow/Selenium/Firefox.html","kind":"module","full_name":"LuckyFlow::Selenium::Firefox","name":"Firefox","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/firefox/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/selenium/firefox/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/Firefox/Driver","path":"LuckyFlow/Selenium/Firefox/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Firefox::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/firefox/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/selenium/firefox/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium/Firefox","kind":"module","full_name":"LuckyFlow::Selenium::Firefox","name":"Firefox"},"constructors":[{"html_id":"new(&)-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/selenium/firefox/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/selenium/firefox/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/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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 |elem|\n element(query, elem)\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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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 |elem|\n element(query, elem)\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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L46"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"__temp_97 = find_or_create_attr(\"value\")\n__temp_97.val = __temp_97.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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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":176,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L176"},"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":159,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L159"},"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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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":117,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L117"},"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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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":163,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L163"},"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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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 |attr|\n attr.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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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 |elem|\n (find_or_create_attr(\"selected\", elem)).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":104,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L104"},"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 |elem|\n (find_or_create_attr(\"selected\", elem)).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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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":194,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L194"},"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":184,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L184"},"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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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 0d97ec2..36b9fea 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/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 +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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/ext/authentic.cr#L23"},{"filename":"src/ext/avram.cr","line_number":31,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/ext/avram.cr#L31"},{"filename":"src/ext/lucky.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/ext/lucky.cr#L17"},{"filename":"src/lucky_flow.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow.cr#L7"},{"filename":"src/lucky_flow.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow.cr#L13"},{"filename":"src/lucky_flow/errors.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/errors.cr#L1"},{"filename":"src/lucky_flow/expectations.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/expectations.cr#L3"},{"filename":"src/lucky_flow/version.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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_95 = name\n@@running_registry[__temp_95]? || (@@running_registry[__temp_95] = @@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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/selenium/driver.cr#L1"},{"filename":"src/lucky_flow/selenium/firefox/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/selenium/firefox/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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"},{"html_id":"lucky_flow/LuckyFlow/Selenium/Firefox/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Firefox::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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/selenium/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.text"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Firefox","path":"LuckyFlow/Selenium/Firefox.html","kind":"module","full_name":"LuckyFlow::Selenium::Firefox","name":"Firefox","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/firefox/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/selenium/firefox/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/Firefox/Driver","path":"LuckyFlow/Selenium/Firefox/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Firefox::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/firefox/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/selenium/firefox/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium/Firefox","kind":"module","full_name":"LuckyFlow::Selenium::Firefox","name":"Firefox"},"constructors":[{"html_id":"new(&)-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/selenium/firefox/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/selenium/firefox/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/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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 |elem|\n element(query, elem)\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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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 |elem|\n element(query, elem)\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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L46"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"__temp_97 = find_or_create_attr(\"value\")\n__temp_97.val = __temp_97.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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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":176,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L176"},"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":159,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L159"},"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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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":117,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L117"},"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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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":163,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L163"},"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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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 |attr|\n attr.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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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 |elem|\n (find_or_create_attr(\"selected\", elem)).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":104,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L104"},"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 |elem|\n (find_or_create_attr(\"selected\", elem)).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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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":194,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L194"},"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":184,"url":"https://github.com/luckyframework/lucky_flow/blob/f89f7b817b9d4da38e653b9b884bafdea21278c7/src/lucky_flow/webless/element.cr#L184"},"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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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/f89f7b817b9d4da38e653b9b884bafdea21278c7/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