diff --git a/404.html b/404.html index cedf82a..fbaff21 100644 --- a/404.html +++ b/404.html @@ -3,7 +3,8 @@
- + + @@ -22,9 +23,14 @@ + +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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/src/ext/authentic.cr#L23"},{"filename":"src/ext/avram.cr","line_number":31,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/ext/avram.cr#L31"},{"filename":"src/ext/lucky.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/ext/lucky.cr#L17"},{"filename":"src/lucky_flow.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/lucky_flow.cr#L7"},{"filename":"src/lucky_flow.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/lucky_flow.cr#L13"},{"filename":"src/lucky_flow/errors.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/lucky_flow/errors.cr#L1"},{"filename":"src/lucky_flow/expectations.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/lucky_flow/expectations.cr#L3"},{"filename":"src/lucky_flow/version.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/lucky_flow/version.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"HABITAT_SETTINGS","name":"HABITAT_SETTINGS","value":"[{decl: screenshot_directory : String = \"./tmp/screenshots\", example: nil, validation: nil}, {decl: base_uri : String, example: nil, validation: nil}, {decl: retry_delay : Time::Span = 10.milliseconds, example: nil, validation: nil}, {decl: stop_retrying_after : Time::Span = 1.second, example: nil, validation: nil}, {decl: driver_path : String | ::Nil, example: nil, validation: nil}] of Nil"},{"id":"VERSION","name":"VERSION","value":"\"0.9.1\""}],"included_modules":[{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"}],"doc":"```\nrequire \"lucky_flow/ext/lucky\"\n```","summary":"require "lucky_flow/ext/lucky"
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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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_86 = name\n@@running_registry[__temp_86]? || (@@running_registry[__temp_86] = @@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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/src/lucky_flow/webless/element.cr#L46"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"__temp_88 = find_or_create_attr(\"value\")\n__temp_88.val = __temp_88.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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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:If you have Authentic required, you can require this file for some additional helpers
","instance_methods":[{"html_id":"visit(action:Lucky::Action.class,asuser:User)-instance-method","name":"visit","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"},{"name":"user","external_name":"as","restriction":"User"}],"args_string":"(action : Lucky::Action.class, as user : User)","args_html":"(action : Lucky::Action.class, as user : User)","location":{"filename":"src/ext/authentic.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L4"},"def":{"name":"visit","args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"},{"name":"user","external_name":"as","restriction":"User"}],"visibility":"Public","body":"visit(action.route, as: user)"}},{"html_id":"visit(route_helper:Lucky::RouteHelper,asuser:User)-instance-method","name":"visit","abstract":false,"args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"},{"name":"user","external_name":"as","restriction":"User"}],"args_string":"(route_helper : Lucky::RouteHelper, as user : User)","args_html":"(route_helper : Lucky::RouteHelper, as user : User)","location":{"filename":"src/ext/authentic.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L8"},"def":{"name":"visit","args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"},{"name":"user","external_name":"as","restriction":"User"}],"visibility":"Public","body":"url = route_helper.url\nuri = URI.parse(url)\nif uri.query\n url = url + \"&backdoor_user_id=#{user.id}\"\nelse\n if uri.query.nil?\n url = url + \"?backdoor_user_id=#{user.id}\"\n end\nend\ndriver.visit(url)\n"}}]},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","path":"AvramLuckyFlowHelpers.html","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/avram.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/avram.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Avram](https://github.com/luckyframework/avram)\nrequired, you can require this file for some additional helpers","summary":"If you have Avram required, you can require this file for some additional helpers
","instance_methods":[{"html_id":"fill_form(form:Avram::SaveOperation.class|Avram::Operation.class,**fields_and_values)-instance-method","name":"fill_form","doc":"Fill a form created by Lucky that uses an Avram::SaveOperation\n\nNote that Lucky and Avram are required to use this method\n\n```\nfill_form QuestionForm,\n title: \"Hello there!\",\n body: \"Just wondering what day it is\"\n```","summary":"Fill a form created by Lucky that uses an Avram::SaveOperation
","abstract":false,"args":[{"name":"form","external_name":"form","restriction":"Avram::SaveOperation.class | Avram::Operation.class"}],"args_string":"(form : Avram::SaveOperation.class | Avram::Operation.class, **fields_and_values)","args_html":"(form : Avram::SaveOperation.class | Avram::Operation.class, **fields_and_values)","location":{"filename":"src/ext/avram.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/avram.cr#L13"},"def":{"name":"fill_form","args":[{"name":"form","external_name":"form","restriction":"Avram::SaveOperation.class | Avram::Operation.class"}],"double_splat":{"name":"fields_and_values","external_name":"fields_and_values","restriction":""},"visibility":"Public","body":"fields_and_values.each do |name, value|\n element = field(\"#{form.param_key}:#{name}\")\n if element.tag_name == \"select\"\n self.select(element, value.to_s)\n else\n self.fill(element, with: value)\n end\nend"}}]},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","path":"LuckyActionLuckyFlowHelpers.html","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/lucky.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Lucky](https://github.com/luckyframework/lucky)\nrequired, you can require this file for some additional helpers","summary":"If you have Lucky required, you can require this file for some additional helpers
","instance_methods":[{"html_id":"visit(action:Lucky::Action.class)-instance-method","name":"visit","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"}],"args_string":"(action : Lucky::Action.class)","args_html":"(action : Lucky::Action.class)","location":{"filename":"src/ext/lucky.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L4"},"def":{"name":"visit","args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"}],"visibility":"Public","body":"visit(action.route)"}},{"html_id":"visit(route_helper:Lucky::RouteHelper)-instance-method","name":"visit","abstract":false,"args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"}],"args_string":"(route_helper : Lucky::RouteHelper)","args_html":"(route_helper : Lucky::RouteHelper)","location":{"filename":"src/ext/lucky.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L8"},"def":{"name":"visit","args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"}],"visibility":"Public","body":"url = route_helper.url\ndriver.visit(url)\n"}}]},{"html_id":"lucky_flow/LuckyFlow","path":"LuckyFlow.html","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ext/authentic.cr","line_number":23,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L23"},{"filename":"src/ext/avram.cr","line_number":31,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/avram.cr#L31"},{"filename":"src/ext/lucky.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L17"},{"filename":"src/lucky_flow.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L7"},{"filename":"src/lucky_flow.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L13"},{"filename":"src/lucky_flow/errors.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L1"},{"filename":"src/lucky_flow/expectations.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations.cr#L3"},{"filename":"src/lucky_flow/version.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/version.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"HABITAT_SETTINGS","name":"HABITAT_SETTINGS","value":"[{decl: screenshot_directory : String = \"./tmp/screenshots\", example: nil, validation: nil}, {decl: base_uri : String, example: nil, validation: nil}, {decl: retry_delay : Time::Span = 10.milliseconds, example: nil, validation: nil}, {decl: stop_retrying_after : Time::Span = 1.second, example: nil, validation: nil}, {decl: driver_path : String | ::Nil, example: nil, validation: nil}] of Nil"},{"id":"VERSION","name":"VERSION","value":"\"0.9.1\""}],"included_modules":[{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"}],"doc":"```\nrequire \"lucky_flow/ext/lucky\"\n```","summary":"require "lucky_flow/ext/lucky"
Add text to the end of a field
","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":"String"}],"args_string":"(name_attr : String, with value : String)","args_html":"(name_attr : String, with value : String)","location":{"filename":"src/lucky_flow.cr","line_number":112,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L112"},"def":{"name":"append","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":"String"}],"visibility":"Public","body":"(field(name_attr)).append(value)"}},{"html_id":"click(css_selector:String)-instance-method","name":"click","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"args_string":"(css_selector : String)","args_html":"(css_selector : String)","location":{"filename":"src/lucky_flow.cr","line_number":88,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L88"},"def":{"name":"click","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"visibility":"Public","body":"(el(css_selector)).click"}},{"html_id":"current_path-instance-method","name":"current_path","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":157,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L157"},"def":{"name":"current_path","visibility":"Public","body":"url = driver.current_url\n(URI.parse(url)).path\n"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":166,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L166"},"def":{"name":"dismiss_alert","visibility":"Public","body":"driver.dismiss_alert"}},{"html_id":"driver:LuckyFlow::Driver-instance-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":175,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L175"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"self.class.driver"}},{"html_id":"el(css_selector:String,text:String):LuckyFlow::Element-instance-method","name":"el","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(css_selector : String, text : String) : LuckyFlow::Element","args_html":"(css_selector : String, text : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":141,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L141"},"def":{"name":"el","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"LuckyFlow::FindElement.run(driver, css_selector, text)"}},{"html_id":"el(css_selector:String):LuckyFlow::Element-instance-method","name":"el","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"args_string":"(css_selector : String) : LuckyFlow::Element","args_html":"(css_selector : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":145,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L145"},"def":{"name":"el","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"LuckyFlow::FindElement.run(driver, css_selector)"}},{"html_id":"expand_page_to_fullsize-instance-method","name":"expand_page_to_fullsize","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L70"},"def":{"name":"expand_page_to_fullsize","visibility":"Public","body":"driver.maximize_window"}},{"html_id":"field(name_attr:String):LuckyFlow::Element-instance-method","name":"field","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"}],"args_string":"(name_attr : String) : LuckyFlow::Element","args_html":"(name_attr : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":149,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L149"},"def":{"name":"field","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"el(\"[name='#{name_attr}']\")"}},{"html_id":"fill(name_attr:String,withvalue)-instance-method","name":"fill","doc":"Set the text of a form field, clearing any existing text\n\n```\nfill(\"comment:body\", with: \"Lucky is great!\")\n```","summary":"Set the text of a form field, clearing any existing text
","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":""}],"args_string":"(name_attr : String, with value)","args_html":"(name_attr : String, with value)","location":{"filename":"src/lucky_flow.cr","line_number":97,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L97"},"def":{"name":"fill","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":""}],"visibility":"Public","body":"fill(field(name_attr), with: value)"}},{"html_id":"fill(element:Element,withvalue)-instance-method","name":"fill","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"with","restriction":""}],"args_string":"(element : Element, with value)","args_html":"(element : Element, with value)","location":{"filename":"src/lucky_flow.cr","line_number":101,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L101"},"def":{"name":"fill","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"with","restriction":""}],"visibility":"Public","body":"element.fill(value)"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":153,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L153"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"driver.html"}},{"html_id":"open_screenshot(process=Process,time=Time.utc,fullsize=false):Void-instance-method","name":"open_screenshot","abstract":false,"args":[{"name":"process","default_value":"Process","external_name":"process","restriction":""},{"name":"time","default_value":"Time.utc","external_name":"time","restriction":""},{"name":"fullsize","default_value":"false","external_name":"fullsize","restriction":""}],"args_string":"(process = Process, time = Time.utc, fullsize = false) : Void","args_html":"(process = Process, time = Time.utc, fullsize = false) : Void","location":{"filename":"src/lucky_flow.cr","line_number":52,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L52"},"def":{"name":"open_screenshot","args":[{"name":"process","default_value":"Process","external_name":"process","restriction":""},{"name":"time","default_value":"Time.utc","external_name":"time","restriction":""},{"name":"fullsize","default_value":"false","external_name":"fullsize","restriction":""}],"return_type":"Void","visibility":"Public","body":"filename = generate_screenshot_filename(time)\ntake_screenshot(filename, fullsize)\nprocess.new(command: \"#{open_command(process)} #{filename}\", shell: true)\n"}},{"html_id":"pause-instance-method","name":"pause","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":170,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L170"},"def":{"name":"pause","visibility":"Public","body":"puts(\"\\nPausing to debug... (press enter to continue)\")\nSTDIN.gets\n"}},{"html_id":"select(name_attr:String,value:Array(String)|String)-instance-method","name":"select","doc":"Select an option from a select element\n\n```\nselect(\"post:category\", value: \"rant\")\n```\n\nIf given an Array(String), the select is assumed to have the 'multiple' attribute\nand will raise a `LuckyFlow::InvalidMultiSelectError` if it doesn't.\n\n```\nselect(\"post:tags\", value: [\"rant\", \"technology\"])\n```\n","summary":"Select an option from a select element
","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"value","restriction":"Array(String) | String"}],"args_string":"(name_attr : String, value : Array(String) | String)","args_html":"(name_attr : String, value : Array(String) | String)","location":{"filename":"src/lucky_flow.cr","line_number":129,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L129"},"def":{"name":"select","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"value","restriction":"Array(String) | String"}],"visibility":"Public","body":"self.select(field(name_attr), value: value)"}},{"html_id":"select(element:Element,value:String)-instance-method","name":"select","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(element : Element, value : String)","args_html":"(element : Element, value : String)","location":{"filename":"src/lucky_flow.cr","line_number":133,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L133"},"def":{"name":"select","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"element.select_option(value)"}},{"html_id":"select(element:Element,value:Array(String))-instance-method","name":"select","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"Array(String)"}],"args_string":"(element : Element, value : Array(String))","args_html":"(element : Element, value : Array(String))","location":{"filename":"src/lucky_flow.cr","line_number":137,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L137"},"def":{"name":"select","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"Array(String)"}],"visibility":"Public","body":"element.select_options(value)"}},{"html_id":"settings-instance-method","name":"settings","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L16"},"def":{"name":"settings","visibility":"Public","body":"HabitatSettings"}},{"html_id":"take_screenshot(filename:String=generate_screenshot_filename,fullsize:Bool=true)-instance-method","name":"take_screenshot","abstract":false,"args":[{"name":"filename","default_value":"generate_screenshot_filename","external_name":"filename","restriction":"String"},{"name":"fullsize","default_value":"true","external_name":"fullsize","restriction":"Bool"}],"args_string":"(filename : String = generate_screenshot_filename, fullsize : Bool = true)","args_html":"(filename : String = generate_screenshot_filename, fullsize : Bool = true)","location":{"filename":"src/lucky_flow.cr","line_number":58,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L58"},"def":{"name":"take_screenshot","args":[{"name":"filename","default_value":"generate_screenshot_filename","external_name":"filename","restriction":"String"},{"name":"fullsize","default_value":"true","external_name":"fullsize","restriction":"Bool"}],"visibility":"Public","body":"if fullsize\n with_fullsized_page do\n driver.screenshot(filename)\n end\nelse\n driver.screenshot(filename)\nend"}},{"html_id":"visit(path:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow.cr","line_number":48,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L48"},"def":{"name":"visit","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"driver.visit(\"#{settings.base_uri}#{path}\")"}},{"html_id":"with_fullsized_page(&)-instance-method","name":"with_fullsized_page","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":74,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L74"},"def":{"name":"with_fullsized_page","yields":0,"block_arity":0,"visibility":"Public","body":"begin\n original_size = driver.window_size\n expand_page_to_fullsize\n yield\nensure\n if original_size\n driver.resize_window(**original_size)\n end\nend"}}],"types":[{"html_id":"lucky_flow/LuckyFlow/Driver","path":"LuckyFlow/Driver.html","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver","abstract":true,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},{"html_id":"lucky_flow/LuckyFlow/Webless/Driver","kind":"class","full_name":"LuckyFlow::Webless::Driver","name":"Driver"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L10"},"def":{"name":"accept_alert","visibility":"Public","body":""}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":true,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L16"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L15"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":""}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L11"},"def":{"name":"dismiss_alert","visibility":"Public","body":""}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":true,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L13"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":""}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":true,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L14"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":""}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":true,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/driver.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L17"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":true,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L12"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":""}},{"html_id":"html:String-instance-method","name":"html","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L18"},"def":{"name":"html","return_type":"String","visibility":"Public","body":""}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L8"},"def":{"name":"maximize_window","visibility":"Public","body":""}},{"html_id":"reset-instance-method","name":"reset","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L3"},"def":{"name":"reset","visibility":"Public","body":""}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":true,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/driver.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L9"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":""}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":true,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L5"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"shutdown-instance-method","name":"shutdown","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L4"},"def":{"name":"shutdown","visibility":"Public","body":""}},{"html_id":"stop-instance-method","name":"stop","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L2"},"def":{"name":"stop","visibility":"Public","body":""}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":true,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L6"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L7"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":""}}],"macros":[{"html_id":"unsupported-macro","name":"unsupported","abstract":false,"location":{"filename":"src/lucky_flow/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L20"},"def":{"name":"unsupported","visibility":"Public","body":" method_name = \n\\{\n{ @def.name.stringify }}\n raise NotSupportedByDriverError.new(\"#{self.class}##{method_name}\")\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/DriverInstallationError","path":"LuckyFlow/DriverInstallationError.html","kind":"class","full_name":"LuckyFlow::DriverInstallationError","name":"DriverInstallationError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L26"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new(error:Exception)-class-method","name":"new","abstract":false,"args":[{"name":"error","external_name":"error","restriction":"Exception"}],"args_string":"(error : Exception)","args_html":"(error : Exception)","location":{"filename":"src/lucky_flow/errors.cr","line_number":27,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L27"},"def":{"name":"new","args":[{"name":"error","external_name":"error","restriction":"Exception"}],"visibility":"Public","body":"_ = allocate\n_.initialize(error)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Element","path":"LuckyFlow/Element.html","kind":"class","full_name":"LuckyFlow::Element","name":"Element","abstract":true,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Element","kind":"class","full_name":"LuckyFlow::Selenium::Element","name":"Element"},{"html_id":"lucky_flow/LuckyFlow/Webless/Element","kind":"class","full_name":"LuckyFlow::Webless::Element","name":"Element"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"instance_methods":[{"html_id":"append(value:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfield = el(\"input[name='comment']\")\nfield.fill(\"Lucky is:\")\n\nfield.append(\" So much fun!\")\n```","summary":"Add text to the end of a field
","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":62,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L62"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"send_keys(value)"}},{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":true,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L11"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"attribute(name:Symbol):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : String | Nil","args_html":"(name : Symbol) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":30,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L30"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"String | ::Nil","visibility":"Public","body":"attribute(name.to_s)"}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L10"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"clear-instance-method","name":"clear","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L14"},"def":{"name":"clear","visibility":"Public","body":""}},{"html_id":"click-instance-method","name":"click","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L6"},"def":{"name":"click","visibility":"Public","body":""}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L8"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"driver:LuckyFlow::Driver-instance-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L2"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"@driver"}},{"html_id":"fill(value:String)-instance-method","name":"fill","doc":"Set the text of a form field\n\n```\nfield = el(\"input[name='comment']\")\n\nfield.fill(\"Lucky is great!\")\n```","summary":"Set the text of a form field
","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L45"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"clear\nsend_keys(value)\n"}},{"html_id":"fill(value:Time)-instance-method","name":"fill","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"}],"args_string":"(value : Time)","args_html":"(value : Time)","location":{"filename":"src/lucky_flow/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L50"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"Time"}],"visibility":"Public","body":"fill(value.to_s(\"%Y-%m-%d\"))"}},{"html_id":"hover-instance-method","name":"hover","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L70"},"def":{"name":"hover","visibility":"Public","body":"driver.hover(self)"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L17"},"def":{"name":"midpoint","return_type":"::NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":""}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":true,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L12"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"property(name:Symbol):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : String | Nil","args_html":"(name : Symbol) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":34,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L34"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"String | ::Nil","visibility":"Public","body":"property(name.to_s)"}},{"html_id":"raw_selector:String-instance-method","name":"raw_selector","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L3"},"def":{"name":"raw_selector","return_type":"String","visibility":"Public","body":"@raw_selector"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":true,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L15"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":true,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/element.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L16"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":""}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L9"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"selector:String-instance-method","name":"selector","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":66,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L66"},"def":{"name":"selector","return_type":"String","visibility":"Public","body":"(Selector.new(raw_selector)).parse"}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":true,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/element.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L7"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":""}},{"html_id":"send_keys(key:String)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L26"},"def":{"name":"send_keys","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"send_keys([key])"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L13"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":""}},{"html_id":"text:String-instance-method","name":"text","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L5"},"def":{"name":"text","return_type":"String","visibility":"Public","body":""}},{"html_id":"value-instance-method","name":"value","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":22,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L22"},"def":{"name":"value","visibility":"Public","body":"property(\"value\")"}}],"macros":[{"html_id":"unsupported-macro","name":"unsupported","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":74,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L74"},"def":{"name":"unsupported","visibility":"Public","body":" method_name = \n\\{\n{ @def.name.stringify }}\n raise NotSupportedByElementError.new(\"#{self.class}##{method_name}\")\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/ElementNotFoundError","path":"LuckyFlow/ElementNotFoundError.html","kind":"class","full_name":"LuckyFlow::ElementNotFoundError","name":"ElementNotFoundError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L14"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector:String,inner_text:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"}],"args_string":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil)","args_html":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil)","location":{"filename":"src/lucky_flow/errors.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L15"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Error","path":"LuckyFlow/Error.html","kind":"class","full_name":"LuckyFlow::Error","name":"Error","abstract":false,"superclass":{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L5"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/DriverInstallationError","kind":"class","full_name":"LuckyFlow::DriverInstallationError","name":"DriverInstallationError"},{"html_id":"lucky_flow/LuckyFlow/ElementNotFoundError","kind":"class","full_name":"LuckyFlow::ElementNotFoundError","name":"ElementNotFoundError"},{"html_id":"lucky_flow/LuckyFlow/InfiniteRedirectError","kind":"class","full_name":"LuckyFlow::InfiniteRedirectError","name":"InfiniteRedirectError"},{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByDriverError","kind":"class","full_name":"LuckyFlow::NotSupportedByDriverError","name":"NotSupportedByDriverError"},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByElementError","kind":"class","full_name":"LuckyFlow::NotSupportedByElementError","name":"NotSupportedByElementError"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"= LuckyFlow Errors\n\nGeneric LuckyFlow exception class.","summary":"= LuckyFlow Errors
"},{"html_id":"lucky_flow/LuckyFlow/ErrorMessageWhenNotFound","path":"LuckyFlow/ErrorMessageWhenNotFound.html","kind":"class","full_name":"LuckyFlow::ErrorMessageWhenNotFound","name":"ErrorMessageWhenNotFound","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"build(*args,**named_args)-class-method","name":"build","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **named_args)","args_html":"(*args, **named_args)","location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L6"},"def":{"name":"build","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"named_args","external_name":"named_args","restriction":""},"splat_index":0,"visibility":"Public","body":"(new(*args, **named_args)).build"}}],"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector:String,inner_text:String|Nil,negate:Bool=false)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"},{"name":"negate","default_value":"false","external_name":"negate","restriction":"Bool"}],"args_string":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil, negate : Bool = false)","args_html":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil, negate : Bool = false)","location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L10"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"},{"name":"negate","default_value":"false","external_name":"negate","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text, negate)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"build-instance-method","name":"build","abstract":false,"location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L18"},"def":{"name":"build","visibility":"Public","body":"String.build do |message|\n message << \"Expected \"\n if negate\n message << \"not \"\n end\n message << \"to find element on page, but it was \"\n if negate\n else\n message << \"not \"\n end\n message << \"found.\"\n message << \"\\n\\n â–¸ looking for: #{selector}\"\n if !inner_text.empty?\n message << \"\\n â–¸ with text: #{inner_text}\"\n end\n if (similar_flow_id && inner_text.empty?) && (!negate)\n message << \"\\n\\n\"\n message << \" Did you mean...\"\n message << \"\\n\\n â–¸ \"\n message << \"'@#{similar_flow_id}'\\n\"\n end\nend"}},{"html_id":"inner_text-instance-method","name":"inner_text","abstract":false,"location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L40"},"def":{"name":"inner_text","visibility":"Public","body":"(@inner_text || \"\")"}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations","path":"LuckyFlow/Expectations.html","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations","abstract":false,"locations":[{"filename":"src/lucky_flow/expectations.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations.cr#L4"},{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveCurrentPathExpectation","path":"LuckyFlow/Expectations/HaveCurrentPathExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveCurrentPathExpectation","name":"HaveCurrentPathExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(expected_path:String)-class-method","name":"new","abstract":false,"args":[{"name":"expected_path","external_name":"expected_path","restriction":"String"}],"args_string":"(expected_path : String)","args_html":"(expected_path : String)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L2"},"def":{"name":"new","args":[{"name":"expected_path","external_name":"expected_path","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expected_path)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(flow)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":""}],"args_string":"(flow)","args_html":"(flow)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L9"},"def":{"name":"failure_message","args":[{"name":"flow","external_name":"flow","restriction":""}],"visibility":"Public","body":"\"Expected current path to be: #{@expected_path}\\n actual: #{flow.current_path}\""}},{"html_id":"match(flow:LuckyFlow):Bool-instance-method","name":"match","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow) : Bool","args_html":"(flow : LuckyFlow) : Bool","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L5"},"def":{"name":"match","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"return_type":"Bool","visibility":"Public","body":"flow.current_path == @expected_path"}},{"html_id":"negative_failure_message(_flow)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"_flow","external_name":"_flow","restriction":""}],"args_string":"(_flow)","args_html":"(_flow)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L16"},"def":{"name":"negative_failure_message","args":[{"name":"_flow","external_name":"_flow","restriction":""}],"visibility":"Public","body":"\"Expected current path not to be: #{@expected_path}\""}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveElementExpectation","path":"LuckyFlow/Expectations/HaveElementExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveElementExpectation","name":"HaveElementExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(css_selector:String,text:String|Nil,visible:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String | ::Nil"},{"name":"visible","external_name":"visible","restriction":"Bool"}],"args_string":"(css_selector : String, text : String | Nil, visible : Bool)","args_html":"(css_selector : String, text : String | Nil, visible : Bool)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L4"},"def":{"name":"new","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String | ::Nil"},{"name":"visible","external_name":"visible","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(css_selector, text, visible)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(flow:LuckyFlow)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow)","args_html":"(flow : LuckyFlow)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L24"},"def":{"name":"failure_message","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"visibility":"Public","body":"LuckyFlow::ErrorMessageWhenNotFound.build(flow.driver, @css_selector, @text)"}},{"html_id":"match(flow:LuckyFlow):Bool-instance-method","name":"match","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow) : Bool","args_html":"(flow : LuckyFlow) : Bool","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L8"},"def":{"name":"match","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"return_type":"Bool","visibility":"Public","body":"begin\n element = if text = @text\n flow.el(@css_selector, text)\n else\n flow.el(@css_selector)\n end\n if @visible\n element.displayed?\n else\n true\n end\nrescue LuckyFlow::ElementNotFoundError\n false\nend"}},{"html_id":"negative_failure_message(flow:LuckyFlow)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow)","args_html":"(flow : LuckyFlow)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L32"},"def":{"name":"negative_failure_message","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"visibility":"Public","body":"LuckyFlow::ErrorMessageWhenNotFound.build(flow.driver, @css_selector, @text, negate: true)"}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveTextExpectation","path":"LuckyFlow/Expectations/HaveTextExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveTextExpectation","name":"HaveTextExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(expected_value:String)-class-method","name":"new","abstract":false,"args":[{"name":"expected_value","external_name":"expected_value","restriction":"String"}],"args_string":"(expected_value : String)","args_html":"(expected_value : String)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L2"},"def":{"name":"new","args":[{"name":"expected_value","external_name":"expected_value","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expected_value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(element:LuckyFlow::Element)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L9"},"def":{"name":"failure_message","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"\"Expected element to have text: #{@expected_value}\\n actual: #{element.text}\""}},{"html_id":"match(element:LuckyFlow::Element)-instance-method","name":"match","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L5"},"def":{"name":"match","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"element.text.includes?(@expected_value)"}},{"html_id":"negative_failure_message(element:LuckyFlow::Element)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L16"},"def":{"name":"negative_failure_message","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"\"Expected element not to have text: #{@expected_value}\""}}]}]},{"html_id":"lucky_flow/LuckyFlow/FindElement","path":"LuckyFlow/FindElement.html","kind":"class","full_name":"LuckyFlow::FindElement","name":"FindElement","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/find_element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"Find element on a page with a retry","summary":"Find element on a page with a retry
","class_methods":[{"html_id":"run(*args,**named_args):LuckyFlow::Element-class-method","name":"run","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **named_args) : LuckyFlow::Element","args_html":"(*args, **named_args) : LuckyFlow::Element","location":{"filename":"src/lucky_flow/find_element.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L12"},"def":{"name":"run","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"named_args","external_name":"named_args","restriction":""},"splat_index":0,"return_type":"LuckyFlow::Element","visibility":"Public","body":"(new(*args, **named_args)).run"}}],"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector,textinner_text:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"::LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":""},{"name":"inner_text","default_value":"nil","external_name":"text","restriction":"::Nil | ::String"}],"args_string":"(driver : LuckyFlow::Driver, selector, text inner_text : Nil | String = nil)","args_html":"(driver : LuckyFlow::Driver, selector, text inner_text : Nil | String = nil)","location":{"filename":"src/lucky_flow/find_element.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L8"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"::LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":""},{"name":"inner_text","default_value":"nil","external_name":"text","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"run:LuckyFlow::Element-instance-method","name":"run","abstract":false,"location":{"filename":"src/lucky_flow/find_element.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L16"},"def":{"name":"run","return_type":"LuckyFlow::Element","visibility":"Public","body":"loop do\n matching_elements = find_matching_elements\n if matching_elements.first?\n return matching_elements.first\n end\n if has_retries_left?\n else\n break\n end\n sleep(retry_delay_in_ms)\nend\nraise_element_not_found_error\n"}}]},{"html_id":"lucky_flow/LuckyFlow/HabitatSettings","path":"LuckyFlow/HabitatSettings.html","kind":"class","full_name":"LuckyFlow::HabitatSettings","name":"HabitatSettings","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L16"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"base_uri:String-class-method","name":"base_uri","abstract":false,"def":{"name":"base_uri","return_type":"String","visibility":"Public","body":"@@base_uri.not_nil!"}},{"html_id":"base_uri=(value:String)-class-method","name":"base_uri=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","def":{"name":"base_uri=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@@base_uri = value"}},{"html_id":"base_uri?-class-method","name":"base_uri?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use base_uri in your apps to ensure\nthe propper type is checked.","summary":"Used for checking missing settings on non-nilable types It's advised to use base_uri in your apps to ensure the propper type is checked.
","abstract":false,"def":{"name":"base_uri?","visibility":"Public","body":"@@base_uri"}},{"html_id":"driver_path:String|Nil-class-method","name":"driver_path","abstract":false,"def":{"name":"driver_path","return_type":"String | ::Nil","visibility":"Public","body":"@@driver_path"}},{"html_id":"driver_path=(value:String|Nil)-class-method","name":"driver_path=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String | ::Nil"}],"args_string":"(value : String | Nil)","args_html":"(value : String | Nil)","def":{"name":"driver_path=","args":[{"name":"value","external_name":"value","restriction":"String | ::Nil"}],"visibility":"Public","body":"@@driver_path = value"}},{"html_id":"driver_path?-class-method","name":"driver_path?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use driver_path in your apps to ensure\nthe propper type is checked.","summary":"Used for checking missing settings on non-nilable types It's advised to use driver_path in your apps to ensure the propper type is checked.
","abstract":false,"def":{"name":"driver_path?","visibility":"Public","body":"@@driver_path"}},{"html_id":"retry_delay:Time::Span-class-method","name":"retry_delay","abstract":false,"def":{"name":"retry_delay","return_type":"Time::Span","visibility":"Public","body":"@@retry_delay.not_nil!"}},{"html_id":"retry_delay=(value:Time::Span)-class-method","name":"retry_delay=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"args_string":"(value : Time::Span)","args_html":"(value : Time::Span)","def":{"name":"retry_delay=","args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"visibility":"Public","body":"@@retry_delay = value"}},{"html_id":"retry_delay?-class-method","name":"retry_delay?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use retry_delay in your apps to ensure\nthe propper type is checked.","summary":"Used for checking missing settings on non-nilable types It's advised to use retry_delay in your apps to ensure the propper type is checked.
","abstract":false,"def":{"name":"retry_delay?","visibility":"Public","body":"@@retry_delay"}},{"html_id":"screenshot_directory:String-class-method","name":"screenshot_directory","abstract":false,"def":{"name":"screenshot_directory","return_type":"String","visibility":"Public","body":"@@screenshot_directory.not_nil!"}},{"html_id":"screenshot_directory=(value:String)-class-method","name":"screenshot_directory=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","def":{"name":"screenshot_directory=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@@screenshot_directory = value"}},{"html_id":"screenshot_directory?-class-method","name":"screenshot_directory?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use screenshot_directory in your apps to ensure\nthe propper type is checked.","summary":"Used for checking missing settings on non-nilable types It's advised to use screenshot_directory in your apps to ensure the propper type is checked.
","abstract":false,"def":{"name":"screenshot_directory?","visibility":"Public","body":"@@screenshot_directory"}},{"html_id":"stop_retrying_after:Time::Span-class-method","name":"stop_retrying_after","abstract":false,"def":{"name":"stop_retrying_after","return_type":"Time::Span","visibility":"Public","body":"@@stop_retrying_after.not_nil!"}},{"html_id":"stop_retrying_after=(value:Time::Span)-class-method","name":"stop_retrying_after=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"args_string":"(value : Time::Span)","args_html":"(value : Time::Span)","def":{"name":"stop_retrying_after=","args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"visibility":"Public","body":"@@stop_retrying_after = value"}},{"html_id":"stop_retrying_after?-class-method","name":"stop_retrying_after?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use stop_retrying_after in your apps to ensure\nthe propper type is checked.","summary":"Used for checking missing settings on non-nilable types It's advised to use stop_retrying_after in your apps to ensure the propper type is checked.
","abstract":false,"def":{"name":"stop_retrying_after?","visibility":"Public","body":"@@stop_retrying_after"}},{"html_id":"to_h-class-method","name":"to_h","doc":"Generates a hash using the provided values","summary":"Generates a hash using the provided values
","abstract":false,"def":{"name":"to_h","visibility":"Public","body":"{\"screenshot_directory\" => screenshot_directory, \"base_uri\" => base_uri, \"retry_delay\" => retry_delay, \"stop_retrying_after\" => stop_retrying_after, \"driver_path\" => driver_path}"}}]},{"html_id":"lucky_flow/LuckyFlow/InfiniteRedirectError","path":"LuckyFlow/InfiniteRedirectError.html","kind":"class","full_name":"LuckyFlow::InfiniteRedirectError","name":"InfiniteRedirectError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":51,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L51"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/InvalidMultiSelectError","path":"LuckyFlow/InvalidMultiSelectError.html","kind":"class","full_name":"LuckyFlow::InvalidMultiSelectError","name":"InvalidMultiSelectError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L45"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/errors.cr","line_number":46,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L46"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","path":"LuckyFlow/InvalidOperationError.html","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":42,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L42"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/InvalidMultiSelectError","kind":"class","full_name":"LuckyFlow::InvalidMultiSelectError","name":"InvalidMultiSelectError"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByDriverError","path":"LuckyFlow/NotSupportedByDriverError.html","kind":"class","full_name":"LuckyFlow::NotSupportedByDriverError","name":"NotSupportedByDriverError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L8"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByElementError","path":"LuckyFlow/NotSupportedByElementError.html","kind":"class","full_name":"LuckyFlow::NotSupportedByElementError","name":"NotSupportedByElementError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L11"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/Registry","path":"LuckyFlow/Registry.html","kind":"class","full_name":"LuckyFlow::Registry","name":"Registry","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/registry.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"available:Set(String)-class-method","name":"available","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L12"},"def":{"name":"available","return_type":"Set(String)","visibility":"Public","body":"Set.new(@@registry.keys)"}},{"html_id":"current_driver:LuckyFlow::Driver|Nil-class-method","name":"current_driver","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L3"},"def":{"name":"current_driver","return_type":"LuckyFlow::Driver | ::Nil","visibility":"Public","body":"@@current_driver"}},{"html_id":"current_driver=(current_driver:LuckyFlow::Driver|Nil)-class-method","name":"current_driver=","abstract":false,"args":[{"name":"current_driver","external_name":"current_driver","restriction":"LuckyFlow::Driver | ::Nil"}],"args_string":"(current_driver : LuckyFlow::Driver | Nil)","args_html":"(current_driver : LuckyFlow::Driver | Nil)","location":{"filename":"src/lucky_flow/registry.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L3"},"def":{"name":"current_driver=","args":[{"name":"current_driver","external_name":"current_driver","restriction":"LuckyFlow::Driver | ::Nil"}],"visibility":"Public","body":"@@current_driver = current_driver"}},{"html_id":"default_driver:String-class-method","name":"default_driver","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L2"},"def":{"name":"default_driver","return_type":"String","visibility":"Public","body":"@@default_driver"}},{"html_id":"default_driver=(default_driver:String)-class-method","name":"default_driver=","abstract":false,"args":[{"name":"default_driver","external_name":"default_driver","restriction":"String"}],"args_string":"(default_driver : String)","args_html":"(default_driver : String)","location":{"filename":"src/lucky_flow/registry.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L2"},"def":{"name":"default_driver=","args":[{"name":"default_driver","external_name":"default_driver","restriction":"String"}],"visibility":"Public","body":"@@default_driver = default_driver"}},{"html_id":"get_driver(name:String=default_driver):LuckyFlow::Driver-class-method","name":"get_driver","abstract":false,"args":[{"name":"name","default_value":"default_driver","external_name":"name","restriction":"String"}],"args_string":"(name : String = default_driver) : LuckyFlow::Driver","args_html":"(name : String = default_driver) : LuckyFlow::Driver","location":{"filename":"src/lucky_flow/registry.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L16"},"def":{"name":"get_driver","args":[{"name":"name","default_value":"default_driver","external_name":"name","restriction":"String"}],"return_type":"LuckyFlow::Driver","visibility":"Public","body":"__temp_93 = name\n@@running_registry[__temp_93]? || (@@running_registry[__temp_93] = @@registry[name].call)\n"}},{"html_id":"register(name:String|Symbol,&block:->LuckyFlow::Driver)-class-method","name":"register","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | Symbol"}],"args_string":"(name : String | Symbol, &block : -> LuckyFlow::Driver)","args_html":"(name : String | Symbol, &block : -> LuckyFlow::Driver)","location":{"filename":"src/lucky_flow/registry.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L8"},"def":{"name":"register","args":[{"name":"name","external_name":"name","restriction":"String | Symbol"}],"yields":0,"block_arity":0,"block_arg":{"name":"block","external_name":"block","restriction":"(-> LuckyFlow::Driver)"},"visibility":"Public","body":"@@registry[name.to_s] = block"}},{"html_id":"shutdown_all-class-method","name":"shutdown_all","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L20"},"def":{"name":"shutdown_all","visibility":"Public","body":"@@running_registry.values.each(&.shutdown)\n@@running_registry.clear\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Selector","path":"LuckyFlow/Selector.html","kind":"class","full_name":"LuckyFlow::Selector","name":"Selector","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selector.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selector.cr#L7"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"Returns selector or transforms it into a flow-id selector\n\nExample:\n\n Selector.new(\".some-class\").parse # => \".some-class\"\n Selector.new(\"@new-comment-button\").parse # => \"[flow-id='new-comment-button']\"","summary":"Returns selector or transforms it into a flow-id selector
","constructors":[{"html_id":"new(raw_selector:String)-class-method","name":"new","abstract":false,"args":[{"name":"raw_selector","external_name":"raw_selector","restriction":"String"}],"args_string":"(raw_selector : String)","args_html":"(raw_selector : String)","location":{"filename":"src/lucky_flow/selector.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selector.cr#L10"},"def":{"name":"new","args":[{"name":"raw_selector","external_name":"raw_selector","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(raw_selector)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"parse-instance-method","name":"parse","abstract":false,"location":{"filename":"src/lucky_flow/selector.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selector.cr#L13"},"def":{"name":"parse","visibility":"Public","body":"if should_select_flow_id?\n flow_id_selector\nelse\n raw_selector\nend"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium","path":"LuckyFlow/Selenium.html","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L1"},{"filename":"src/lucky_flow/selenium/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome","path":"LuckyFlow/Selenium/Chrome.html","kind":"module","full_name":"LuckyFlow::Selenium::Chrome","name":"Chrome","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"types":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome/Driver","path":"LuckyFlow/Selenium/Chrome/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Chrome::Driver","name":"Driver","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome","kind":"module","full_name":"LuckyFlow::Selenium::Chrome","name":"Chrome"},"constructors":[{"html_id":"new(&)-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L8"},"def":{"name":"new","yields":1,"block_arity":1,"visibility":"Public","body":"_ = allocate\n_.initialize do |_arg0|\n yield _arg0\nend\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","path":"LuckyFlow/Selenium/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver","abstract":true,"superclass":{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Chrome::Driver","name":"Driver"}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":33,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L33"},"def":{"name":"accept_alert","visibility":"Public","body":"session.alert_manager.accept_alert"}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":59,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L59"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"session.cookie_manager.add_cookie(key, value)"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":55,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L55"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"session.current_url"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":37,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L37"},"def":{"name":"dismiss_alert","visibility":"Public","body":"session.alert_manager.dismiss_alert"}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":47,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L47"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"find_elements(:css, query)"}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":51,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L51"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"find_elements(:xpath, query)"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":63,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L63"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"(session.cookie_manager.get_cookie(key)).value"}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":41,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L41"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"if midpoint = element.midpoint\n session.move_to(**midpoint)\nend"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":67,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L67"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"session.document_manager.page_source"}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":25,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L25"},"def":{"name":"maximize_window","visibility":"Public","body":"session.window_manager.maximize"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":71,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L71"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@session.try do |__arg0|\n __arg0.cookie_manager.delete_all_cookies\nend"}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L29"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"session.window_manager.resize_window(width: width, height: height)"}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L11"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"FileUtils.mkdir_p(File.dirname(path))\nsession.screenshot(path)\n"}},{"html_id":"shutdown:Nil-instance-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":79,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L79"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"@session.try(&.delete)\nstop\n"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":75,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L75"},"def":{"name":"stop","visibility":"Public","body":"@driver.try(&.stop)"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L16"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"session.navigate_to(url)"}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L20"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":"result = session.window_manager.window_rect\n{width: result.width, height: result.height}\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Element","path":"LuckyFlow/Selenium/Element.html","kind":"class","full_name":"LuckyFlow::Selenium::Element","name":"Element","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"constructors":[{"html_id":"new(driver,raw_selector,inner_element:::Selenium::Element)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::Selenium::Element"}],"args_string":"(driver, raw_selector, inner_element : ::Selenium::Element)","args_html":"(driver, raw_selector, inner_element : ::Selenium::Element)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L6"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::Selenium::Element"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, raw_selector, inner_element)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L26"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@inner_element.attribute(name)"}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":22,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L22"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":"selected?"}},{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":38,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L38"},"def":{"name":"clear","visibility":"Public","body":"@inner_element.clear"}},{"html_id":"click-instance-method","name":"click","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":42,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L42"},"def":{"name":"click","visibility":"Public","body":"@inner_element.click"}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L14"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":"@inner_element.displayed?"}},{"html_id":"fill(value:Time)-instance-method","name":"fill","doc":"To set the value of date inputs correctly\nyou must put the year last\nbut it still submits the form with the date first\n...any questions?","summary":"To set the value of date inputs correctly you must put the year last but it still submits the form with the date first ...any questions?
","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"}],"args_string":"(value : Time)","args_html":"(value : Time)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L50"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"Time"}],"visibility":"Public","body":"fill(value.to_s(\"%m-%d-%Y\"))"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L70"},"def":{"name":"midpoint","return_type":"NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":"midpoint = @inner_element.rect.try(&.midpoint)\nif midpoint.nil?\n return\nend\n{x: midpoint.x, y: midpoint.y}\n"}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":30,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L30"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@inner_element.property(name)"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":58,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L58"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"select_el = ::Selenium::Helpers::Select.from_element(@inner_element)\nselect_el.select_by_value(value)\n"}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":63,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L63"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":"select_el = ::Selenium::Helpers::Select.from_element(@inner_element)\nif select_el.multiple?\nelse\n raise(LuckyFlow::InvalidMultiSelectError.new)\nend\nvalues.each do |value|\n select_el.select_by_value(value)\nend\n"}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L18"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":"@inner_element.selected?"}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":false,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":54,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L54"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":"@inner_element.send_keys(keys)"}},{"html_id":"send_keys(*args,**options)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L2"},"def":{"name":"send_keys","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@inner_element.send_keys(*args, **options)"}},{"html_id":"send_keys(*args,**options,&)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L2"},"def":{"name":"send_keys","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@inner_element.send_keys(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":34,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L34"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":"@inner_element.tag_name"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.text"}}]}]},{"html_id":"lucky_flow/LuckyFlow/Spec","path":"LuckyFlow/Spec.html","kind":"module","full_name":"LuckyFlow::Spec","name":"Spec","abstract":false,"locations":[{"filename":"src/lucky_flow/spec.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/spec.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"macros":[{"html_id":"setup-macro","name":"setup","abstract":false,"location":{"filename":"src/lucky_flow/spec.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/spec.cr#L2"},"def":{"name":"setup","visibility":"Public","body":" Spec.around_each do |spec|\n if driver_name = (spec.example._lucky_flow_all_tags & LuckyFlow::Registry.available).first?\n LuckyFlow.driver(driver_name)\n \nend\n\n spec.run\n\n LuckyFlow.reset\n LuckyFlow.use_default_driver\n \nend\n\n Spec.after_suite do\n LuckyFlow.shutdown\n \nend\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless","path":"LuckyFlow/Webless.html","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless","abstract":false,"locations":[{"filename":"src/lucky_flow/webless/browser.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Webless/Browser","path":"LuckyFlow/Webless/Browser.html","kind":"class","full_name":"LuckyFlow::Webless::Browser","name":"Browser","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/browser.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"REDIRECT_LIMIT","name":"REDIRECT_LIMIT","value":"5"}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(client:::Webless::Client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"::Webless::Client"}],"args_string":"(client : ::Webless::Client)","args_html":"(client : ::Webless::Client)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L6"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":"::Webless::Client"}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":41,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L41"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@client.cookie_jar[key] = value"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":33,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L33"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"@client.last_request_url"}},{"html_id":"find_css(query:String):Array(HTML5::Node)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(HTML5::Node)","args_html":"(query : String) : Array(HTML5::Node)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":25,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L25"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(HTML5::Node)","visibility":"Public","body":"parsed_html.css(query)"}},{"html_id":"find_xpath(query:String):Array(HTML5::Node)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(HTML5::Node)","args_html":"(query : String) : Array(HTML5::Node)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L29"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(HTML5::Node)","visibility":"Public","body":"parsed_html.xpath_nodes(query)"}},{"html_id":"follow(method:String,url:String)-instance-method","name":"follow","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String)","args_html":"(method : String, url : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L13"},"def":{"name":"follow","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@client.exec(method.upcase, url)\nhandle_redirects\n@parsed_html = nil\n"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L45"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@client.cookie_jar[key]?"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":49,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L49"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"@client.last_response.body"}},{"html_id":"reset-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":37,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L37"},"def":{"name":"reset","visibility":"Public","body":"@client.clear_cookies"}},{"html_id":"submit(request:HTTP::Request)-instance-method","name":"submit","abstract":false,"args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"args_string":"(request : HTTP::Request)","args_html":"(request : HTTP::Request)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":19,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L19"},"def":{"name":"submit","args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"visibility":"Public","body":"@client.exec(request)\nhandle_redirects\n@parsed_html = nil\n"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L9"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"follow(\"GET\", url)"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Driver","path":"LuckyFlow/Webless/Driver.html","kind":"class","full_name":"LuckyFlow::Webless::Driver","name":"Driver","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(handlers:Array(HTTP::Handler))-class-method","name":"new","abstract":false,"args":[{"name":"handlers","external_name":"handlers","restriction":"Array(HTTP::Handler)"}],"args_string":"(handlers : Array(HTTP::Handler))","args_html":"(handlers : Array(HTTP::Handler))","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L2"},"def":{"name":"new","args":[{"name":"handlers","external_name":"handlers","restriction":"Array(HTTP::Handler)"}],"visibility":"Public","body":"new(HTTP::Server.build_middleware(handlers))"}},{"html_id":"new(handler:HTTP::Handler)-class-method","name":"new","abstract":false,"args":[{"name":"handler","external_name":"handler","restriction":"HTTP::Handler"}],"args_string":"(handler : HTTP::Handler)","args_html":"(handler : HTTP::Handler)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L8"},"def":{"name":"new","args":[{"name":"handler","external_name":"handler","restriction":"HTTP::Handler"}],"visibility":"Public","body":"_ = allocate\n_.initialize(handler)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":36,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L36"},"def":{"name":"accept_alert","visibility":"Public","body":"unsupported"}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":60,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L60"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@browser.add_cookie(key, value)"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":56,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L56"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"@browser.current_url"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L40"},"def":{"name":"dismiss_alert","visibility":"Public","body":"unsupported"}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":48,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L48"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"(@browser.find_css(query)).map do |el|\n element(query, el)\nend"}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":52,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L52"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"(@browser.find_xpath(query)).map do |el|\n element(query, el)\nend"}},{"html_id":"follow(method:String,url:String)-instance-method","name":"follow","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String)","args_html":"(method : String, url : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L20"},"def":{"name":"follow","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@browser.follow(method, url)"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":64,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L64"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@browser.get_cookie(key)"}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":44,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L44"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"unsupported"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":68,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L68"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"@browser.html"}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":28,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L28"},"def":{"name":"maximize_window","visibility":"Public","body":"unsupported"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":76,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L76"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@browser.reset"}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L32"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"unsupported"}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L12"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"unsupported"}},{"html_id":"shutdown:Nil-instance-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":84,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L84"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"stop"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":80,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L80"},"def":{"name":"stop","visibility":"Public","body":""}},{"html_id":"submit(request:HTTP::Request)-instance-method","name":"submit","abstract":false,"args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"args_string":"(request : HTTP::Request)","args_html":"(request : HTTP::Request)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":72,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L72"},"def":{"name":"submit","args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"visibility":"Public","body":"@browser.submit(request)"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L16"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@browser.visit(url)"}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L24"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":"unsupported"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Element","path":"LuckyFlow/Webless/Element.html","kind":"class","full_name":"LuckyFlow::Webless::Element","name":"Element","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"VISIBILITY_XPATH","name":"VISIBILITY_XPATH","value":"\"boolean(./ancestor-or-self::*[(((./@style[(contains(., 'display:none') or contains(., 'display: none'))] or ./@hidden) or ((name(.) = 'script') or (name(.) = 'head'))) or (not(./self::summary) and ./parent::details[not(./@open)]))])\""}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(driver,raw_selector,inner_element:HTML5::Node)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::HTML5::Node"}],"args_string":"(driver, raw_selector, inner_element : HTML5::Node)","args_html":"(driver, raw_selector, inner_element : HTML5::Node)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L6"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::HTML5::Node"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, raw_selector, inner_element)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"append(value:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfield = el(\"input[name='comment']\")\nfield.fill(\"Lucky is:\")\n\nfield.append(\" So much fun!\")\n```","summary":"Add text to the end of a field
","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":46,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L46"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"__temp_95 = find_or_create_attr(\"value\")\n__temp_95.val = __temp_95.val + value\n"}},{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":69,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L69"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"attr = _attribute(name)\nval = attr.try(&.val)\nif attr.nil? && (name == \"value\")\n val = \"\"\nend\nval\n"}},{"html_id":"check-instance-method","name":"check","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":174,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L174"},"def":{"name":"check","visibility":"Public","body":"if checkbox?\n set_checkbox(!checked?)\nelse\n if radio?\n set_radio\n end\nend"}},{"html_id":"checkbox?:Bool-instance-method","name":"checkbox?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":157,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L157"},"def":{"name":"checkbox?","return_type":"Bool","visibility":"Public","body":"(attribute(\"type\")) == \"checkbox\""}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":65,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L65"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":"(attribute(\"checked\")) == \"checked\""}},{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":91,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L91"},"def":{"name":"clear","visibility":"Public","body":"(_attribute(\"value\")).try(&.val = \"\")"}},{"html_id":"click-instance-method","name":"click","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L29"},"def":{"name":"click","visibility":"Public","body":"if link?\n method = (attribute(\"data-method\")) || \"get\"\n (driver.as(LuckyFlow::Webless::Driver)).follow(method, (attribute(\"href\")).to_s)\nelse\n if submits? && (f = form)\n (LuckyFlow::Webless::Form.new(f, @inner_element)).submit(driver.as(LuckyFlow::Webless::Driver))\n else\n if checkable?\n check\n end\n end\nend"}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":54,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L54"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":"if (tag_name == \"input\") && ((attribute(\"type\")) == \"hidden\")\n return false\nend\nif tag_name == \"template\"\n return false\nend\n(@driver.find_xpath(VISIBILITY_XPATH)).empty?\n"}},{"html_id":"fill(value:String)-instance-method","name":"fill","doc":"Set the text of a form field\n\n```\nfield = el(\"input[name='comment']\")\n\nfield.fill(\"Lucky is great!\")\n```","summary":"Set the text of a form field
","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L40"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"if input_field? || textarea?\n set_input(value)\nend"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":115,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L115"},"def":{"name":"midpoint","return_type":"::NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":"unsupported"}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":83,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L83"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"attribute(name)"}},{"html_id":"radio?:Bool-instance-method","name":"radio?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":161,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L161"},"def":{"name":"radio?","return_type":"Bool","visibility":"Public","body":"(attribute(\"type\")) == \"radio\""}},{"html_id":"remove_attribute(name:String,element:HTML5::Node=@inner_element)-instance-method","name":"remove_attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"element","default_value":"@inner_element","external_name":"element","restriction":"HTML5::Node"}],"args_string":"(name : String, element : HTML5::Node = @inner_element)","args_html":"(name : String, element : HTML5::Node = @inner_element)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":79,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L79"},"def":{"name":"remove_attribute","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"element","default_value":"@inner_element","external_name":"element","restriction":"HTML5::Node"}],"visibility":"Public","body":"element.attr.reject! do |at|\n at.key == name\nend"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":95,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L95"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"(@inner_element.xpath_nodes(\".//option[@selected]\")).each do |node|\n remove_attribute(\"selected\", node)\nend\n(@inner_element.xpath(\".//option[@value='#{value}']\")).try do |el|\n (find_or_create_attr(\"selected\", el)).val = \"selected\"\nend\n"}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":103,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L103"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":"if multiple?\nelse\n raise(LuckyFlow::InvalidMultiSelectError.new)\nend\n(@inner_element.xpath_nodes(\".//option[@selected]\")).each do |node|\n remove_attribute(\"selected\", node)\nend\nvalues.each do |value|\n (@inner_element.xpath(\".//option[@value='#{value}']\")).try do |el|\n (find_or_create_attr(\"selected\", el)).val = \"selected\"\n end\nend\n"}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":61,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L61"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":"(attribute(\"selected\")) == \"selected\""}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":false,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L50"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":"append(keys.join)"}},{"html_id":"set_checkbox(value:Bool)-instance-method","name":"set_checkbox","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool)","args_html":"(value : Bool)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":192,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L192"},"def":{"name":"set_checkbox","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"visibility":"Public","body":"if value\n checked = find_or_create_attr(\"checked\")\n checked.val = \"checked\"\nelse\n remove_attribute(\"checked\")\nend"}},{"html_id":"set_radio-instance-method","name":"set_radio","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":182,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L182"},"def":{"name":"set_radio","visibility":"Public","body":"if name = attribute(\"name\")\n (driver.find_xpath(\"//input[(./@name = '#{name}')]\")).each do |node|\n remove_attribute(\"checked\", (node.as(LuckyFlow::Webless::Element)).inner_element)\n end\nend\nchecked = find_or_create_attr(\"checked\")\nchecked.val = \"checked\"\n"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":87,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L87"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":"@inner_element.data"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.inner_text"}},{"html_id":"value-instance-method","name":"value","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L14"},"def":{"name":"value","visibility":"Public","body":"if tag_name == \"select\"\n selected_options = @inner_element.xpath_nodes(\".//option[@selected]\")\n if multiple?\n selected_options.map do |option|\n option[\"value\"]? || option.inner_text\n end\n else\n option = selected_options.first? || (@inner_element.xpath(\".//option\"))\n if option.nil?\n raise(\"expected select to contain an option\")\n end\n option[\"value\"]?.try(&.val) || option.inner_text\n end\nelse\n attribute(\"value\")\nend"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Form","path":"LuckyFlow/Webless/Form.html","kind":"class","full_name":"LuckyFlow::Webless::Form","name":"Form","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/form.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/form.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ALL_FORM_FIELDS","name":"ALL_FORM_FIELDS","value":"\".//*[self::input | self::select | self::textarea | self::button][not(./@form)][not(./@disabled)]\""},{"id":"ALL_FORM_FIELDS_WITH_FORM_ID","name":"ALL_FORM_FIELDS_WITH_FORM_ID","value":"\".//*[self::input | self::select | self::textarea | self::button][not(./@form)][not(./@disabled)] | //*[self::input | self::select | self::textarea | self::button][(./@form = '%s')][not(./@disabled)]\""}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(form_node:HTML5::Node,submit_node:HTML5::Node)-class-method","name":"new","abstract":false,"args":[{"name":"form_node","external_name":"form_node","restriction":"::HTML5::Node"},{"name":"submit_node","external_name":"submit_node","restriction":"::HTML5::Node"}],"args_string":"(form_node : HTML5::Node, submit_node : HTML5::Node)","args_html":"(form_node : HTML5::Node, submit_node : HTML5::Node)","location":{"filename":"src/lucky_flow/webless/form.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/form.cr#L7"},"def":{"name":"new","args":[{"name":"form_node","external_name":"form_node","restriction":"::HTML5::Node"},{"name":"submit_node","external_name":"submit_node","restriction":"::HTML5::Node"}],"visibility":"Public","body":"_ = allocate\n_.initialize(form_node, submit_node)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"submit(driver:LuckyFlow::Webless::Driver)-instance-method","name":"submit","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Webless::Driver"}],"args_string":"(driver : LuckyFlow::Webless::Driver)","args_html":"(driver : LuckyFlow::Webless::Driver)","location":{"filename":"src/lucky_flow/webless/form.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/form.cr#L10"},"def":{"name":"submit","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Webless::Driver"}],"visibility":"Public","body":"form_field_xpath = if (id_attr = @form_node[\"id\"]?) && (!id_attr.val.blank?)\n ALL_FORM_FIELDS_WITH_FORM_ID % id_attr.val\nelse\n ALL_FORM_FIELDS\nend\nform_field_nodes = @form_node.xpath_nodes(form_field_xpath)\nform_field_nodes.reject! do |node|\n (submitter?(node)) && (node != submit_node)\nend\nform_values = form_field_nodes.compact_map do |form_field_node|\n case form_field_node.data\n when \"input\"\n parse_input_field(form_field_node)\n when \"textarea\"\n parse_textarea_field(form_field_node)\n when \"select\"\n parse_select_field(form_field_node)\n end\nend.to_h\nrequest_method = @form_node[\"method\"]?.try(&.val) == \"post\" ? :post : :get\nrequest_path = @submit_node[\"formaction\"]?.try() do |__arg1|\n __arg1.val.presence\nend || @form_node[\"action\"].val\nrequest = (((::Webless::RequestBuilder.new.method(request_method)).path(request_path)).form(form_values, multipart?)).build\ndriver.submit(request)\n"}}]}]}]},{"html_id":"lucky_flow/Spec","path":"Spec.html","kind":"module","full_name":"Spec","name":"Spec","abstract":false,"locations":[{"filename":"src/ext/spec/item.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/spec/item.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"lucky_flow/Spec/Item","path":"Spec/Item.html","kind":"module","full_name":"Spec::Item","name":"Item","abstract":false,"locations":[{"filename":"src/ext/spec/item.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/spec/item.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/Spec","kind":"module","full_name":"Spec","name":"Spec"}}]}]}} \ No newline at end of file diff --git a/js/doc.js b/js/doc.js index 6a840c7..45d38b9 100644 --- a/js/doc.js +++ b/js/doc.js @@ -930,7 +930,7 @@ document.addEventListener('DOMContentLoaded', function() { var openTypes = typesList.querySelectorAll('.current'); if (openTypes.length > 0) { var lastOpenType = openTypes[openTypes.length - 1]; - lastOpenType.scrollIntoView(); + lastOpenType.scrollIntoView(!(window.matchMedia('only screen and (max-width: 635px)')).matches); } } diff --git a/search-index.js b/search-index.js index adb9f0f..a9e0538 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: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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/src/ext/authentic.cr#L23"},{"filename":"src/ext/avram.cr","line_number":31,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/ext/avram.cr#L31"},{"filename":"src/ext/lucky.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/ext/lucky.cr#L17"},{"filename":"src/lucky_flow.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/lucky_flow.cr#L7"},{"filename":"src/lucky_flow.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/lucky_flow.cr#L13"},{"filename":"src/lucky_flow/errors.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/lucky_flow/errors.cr#L1"},{"filename":"src/lucky_flow/expectations.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/lucky_flow/expectations.cr#L3"},{"filename":"src/lucky_flow/version.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/39efab6c599f9e02258db563a682166a870fbd46/src/lucky_flow/version.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"HABITAT_SETTINGS","name":"HABITAT_SETTINGS","value":"[{decl: screenshot_directory : String = \"./tmp/screenshots\", example: nil, validation: nil}, {decl: base_uri : String, example: nil, validation: nil}, {decl: retry_delay : Time::Span = 10.milliseconds, example: nil, validation: nil}, {decl: stop_retrying_after : Time::Span = 1.second, example: nil, validation: nil}, {decl: driver_path : String | ::Nil, example: nil, validation: nil}] of Nil"},{"id":"VERSION","name":"VERSION","value":"\"0.9.1\""}],"included_modules":[{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"}],"doc":"```\nrequire \"lucky_flow/ext/lucky\"\n```","summary":"require "lucky_flow/ext/lucky"
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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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_86 = name\n@@running_registry[__temp_86]? || (@@running_registry[__temp_86] = @@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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/src/lucky_flow/webless/element.cr#L46"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"__temp_88 = find_or_create_attr(\"value\")\n__temp_88.val = __temp_88.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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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/39efab6c599f9e02258db563a682166a870fbd46/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:If you have Authentic required, you can require this file for some additional helpers
","instance_methods":[{"html_id":"visit(action:Lucky::Action.class,asuser:User)-instance-method","name":"visit","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"},{"name":"user","external_name":"as","restriction":"User"}],"args_string":"(action : Lucky::Action.class, as user : User)","args_html":"(action : Lucky::Action.class, as user : User)","location":{"filename":"src/ext/authentic.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L4"},"def":{"name":"visit","args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"},{"name":"user","external_name":"as","restriction":"User"}],"visibility":"Public","body":"visit(action.route, as: user)"}},{"html_id":"visit(route_helper:Lucky::RouteHelper,asuser:User)-instance-method","name":"visit","abstract":false,"args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"},{"name":"user","external_name":"as","restriction":"User"}],"args_string":"(route_helper : Lucky::RouteHelper, as user : User)","args_html":"(route_helper : Lucky::RouteHelper, as user : User)","location":{"filename":"src/ext/authentic.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L8"},"def":{"name":"visit","args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"},{"name":"user","external_name":"as","restriction":"User"}],"visibility":"Public","body":"url = route_helper.url\nuri = URI.parse(url)\nif uri.query\n url = url + \"&backdoor_user_id=#{user.id}\"\nelse\n if uri.query.nil?\n url = url + \"?backdoor_user_id=#{user.id}\"\n end\nend\ndriver.visit(url)\n"}}]},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","path":"AvramLuckyFlowHelpers.html","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/avram.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/avram.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Avram](https://github.com/luckyframework/avram)\nrequired, you can require this file for some additional helpers","summary":"If you have Avram required, you can require this file for some additional helpers
","instance_methods":[{"html_id":"fill_form(form:Avram::SaveOperation.class|Avram::Operation.class,**fields_and_values)-instance-method","name":"fill_form","doc":"Fill a form created by Lucky that uses an Avram::SaveOperation\n\nNote that Lucky and Avram are required to use this method\n\n```\nfill_form QuestionForm,\n title: \"Hello there!\",\n body: \"Just wondering what day it is\"\n```","summary":"Fill a form created by Lucky that uses an Avram::SaveOperation
","abstract":false,"args":[{"name":"form","external_name":"form","restriction":"Avram::SaveOperation.class | Avram::Operation.class"}],"args_string":"(form : Avram::SaveOperation.class | Avram::Operation.class, **fields_and_values)","args_html":"(form : Avram::SaveOperation.class | Avram::Operation.class, **fields_and_values)","location":{"filename":"src/ext/avram.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/avram.cr#L13"},"def":{"name":"fill_form","args":[{"name":"form","external_name":"form","restriction":"Avram::SaveOperation.class | Avram::Operation.class"}],"double_splat":{"name":"fields_and_values","external_name":"fields_and_values","restriction":""},"visibility":"Public","body":"fields_and_values.each do |name, value|\n element = field(\"#{form.param_key}:#{name}\")\n if element.tag_name == \"select\"\n self.select(element, value.to_s)\n else\n self.fill(element, with: value)\n end\nend"}}]},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","path":"LuckyActionLuckyFlowHelpers.html","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers","abstract":false,"locations":[{"filename":"src/ext/lucky.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"doc":"If you have [Lucky](https://github.com/luckyframework/lucky)\nrequired, you can require this file for some additional helpers","summary":"If you have Lucky required, you can require this file for some additional helpers
","instance_methods":[{"html_id":"visit(action:Lucky::Action.class)-instance-method","name":"visit","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"}],"args_string":"(action : Lucky::Action.class)","args_html":"(action : Lucky::Action.class)","location":{"filename":"src/ext/lucky.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L4"},"def":{"name":"visit","args":[{"name":"action","external_name":"action","restriction":"Lucky::Action.class"}],"visibility":"Public","body":"visit(action.route)"}},{"html_id":"visit(route_helper:Lucky::RouteHelper)-instance-method","name":"visit","abstract":false,"args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"}],"args_string":"(route_helper : Lucky::RouteHelper)","args_html":"(route_helper : Lucky::RouteHelper)","location":{"filename":"src/ext/lucky.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L8"},"def":{"name":"visit","args":[{"name":"route_helper","external_name":"route_helper","restriction":"Lucky::RouteHelper"}],"visibility":"Public","body":"url = route_helper.url\ndriver.visit(url)\n"}}]},{"html_id":"lucky_flow/LuckyFlow","path":"LuckyFlow.html","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ext/authentic.cr","line_number":23,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/authentic.cr#L23"},{"filename":"src/ext/avram.cr","line_number":31,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/avram.cr#L31"},{"filename":"src/ext/lucky.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/lucky.cr#L17"},{"filename":"src/lucky_flow.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L7"},{"filename":"src/lucky_flow.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L13"},{"filename":"src/lucky_flow/errors.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L1"},{"filename":"src/lucky_flow/expectations.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations.cr#L3"},{"filename":"src/lucky_flow/version.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/version.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"HABITAT_SETTINGS","name":"HABITAT_SETTINGS","value":"[{decl: screenshot_directory : String = \"./tmp/screenshots\", example: nil, validation: nil}, {decl: base_uri : String, example: nil, validation: nil}, {decl: retry_delay : Time::Span = 10.milliseconds, example: nil, validation: nil}, {decl: stop_retrying_after : Time::Span = 1.second, example: nil, validation: nil}, {decl: driver_path : String | ::Nil, example: nil, validation: nil}] of Nil"},{"id":"VERSION","name":"VERSION","value":"\"0.9.1\""}],"included_modules":[{"html_id":"lucky_flow/AuthenticLuckyFlowHelpers","kind":"module","full_name":"AuthenticLuckyFlowHelpers","name":"AuthenticLuckyFlowHelpers"},{"html_id":"lucky_flow/AvramLuckyFlowHelpers","kind":"module","full_name":"AvramLuckyFlowHelpers","name":"AvramLuckyFlowHelpers"},{"html_id":"lucky_flow/Habitat/SettingsHelpers","kind":"module","full_name":"Habitat::SettingsHelpers","name":"SettingsHelpers"},{"html_id":"lucky_flow/Habitat/TempConfig","kind":"module","full_name":"Habitat::TempConfig","name":"TempConfig"},{"html_id":"lucky_flow/LuckyActionLuckyFlowHelpers","kind":"module","full_name":"LuckyActionLuckyFlowHelpers","name":"LuckyActionLuckyFlowHelpers"},{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"}],"doc":"```\nrequire \"lucky_flow/ext/lucky\"\n```","summary":"require "lucky_flow/ext/lucky"
Add text to the end of a field
","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":"String"}],"args_string":"(name_attr : String, with value : String)","args_html":"(name_attr : String, with value : String)","location":{"filename":"src/lucky_flow.cr","line_number":112,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L112"},"def":{"name":"append","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":"String"}],"visibility":"Public","body":"(field(name_attr)).append(value)"}},{"html_id":"click(css_selector:String)-instance-method","name":"click","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"args_string":"(css_selector : String)","args_html":"(css_selector : String)","location":{"filename":"src/lucky_flow.cr","line_number":88,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L88"},"def":{"name":"click","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"visibility":"Public","body":"(el(css_selector)).click"}},{"html_id":"current_path-instance-method","name":"current_path","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":157,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L157"},"def":{"name":"current_path","visibility":"Public","body":"url = driver.current_url\n(URI.parse(url)).path\n"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":166,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L166"},"def":{"name":"dismiss_alert","visibility":"Public","body":"driver.dismiss_alert"}},{"html_id":"driver:LuckyFlow::Driver-instance-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":175,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L175"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"self.class.driver"}},{"html_id":"el(css_selector:String,text:String):LuckyFlow::Element-instance-method","name":"el","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(css_selector : String, text : String) : LuckyFlow::Element","args_html":"(css_selector : String, text : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":141,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L141"},"def":{"name":"el","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"LuckyFlow::FindElement.run(driver, css_selector, text)"}},{"html_id":"el(css_selector:String):LuckyFlow::Element-instance-method","name":"el","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"args_string":"(css_selector : String) : LuckyFlow::Element","args_html":"(css_selector : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":145,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L145"},"def":{"name":"el","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"LuckyFlow::FindElement.run(driver, css_selector)"}},{"html_id":"expand_page_to_fullsize-instance-method","name":"expand_page_to_fullsize","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L70"},"def":{"name":"expand_page_to_fullsize","visibility":"Public","body":"driver.maximize_window"}},{"html_id":"field(name_attr:String):LuckyFlow::Element-instance-method","name":"field","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"}],"args_string":"(name_attr : String) : LuckyFlow::Element","args_html":"(name_attr : String) : LuckyFlow::Element","location":{"filename":"src/lucky_flow.cr","line_number":149,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L149"},"def":{"name":"field","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"}],"return_type":"LuckyFlow::Element","visibility":"Public","body":"el(\"[name='#{name_attr}']\")"}},{"html_id":"fill(name_attr:String,withvalue)-instance-method","name":"fill","doc":"Set the text of a form field, clearing any existing text\n\n```\nfill(\"comment:body\", with: \"Lucky is great!\")\n```","summary":"Set the text of a form field, clearing any existing text
","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":""}],"args_string":"(name_attr : String, with value)","args_html":"(name_attr : String, with value)","location":{"filename":"src/lucky_flow.cr","line_number":97,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L97"},"def":{"name":"fill","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"with","restriction":""}],"visibility":"Public","body":"fill(field(name_attr), with: value)"}},{"html_id":"fill(element:Element,withvalue)-instance-method","name":"fill","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"with","restriction":""}],"args_string":"(element : Element, with value)","args_html":"(element : Element, with value)","location":{"filename":"src/lucky_flow.cr","line_number":101,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L101"},"def":{"name":"fill","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"with","restriction":""}],"visibility":"Public","body":"element.fill(value)"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":153,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L153"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"driver.html"}},{"html_id":"open_screenshot(process=Process,time=Time.utc,fullsize=false):Void-instance-method","name":"open_screenshot","abstract":false,"args":[{"name":"process","default_value":"Process","external_name":"process","restriction":""},{"name":"time","default_value":"Time.utc","external_name":"time","restriction":""},{"name":"fullsize","default_value":"false","external_name":"fullsize","restriction":""}],"args_string":"(process = Process, time = Time.utc, fullsize = false) : Void","args_html":"(process = Process, time = Time.utc, fullsize = false) : Void","location":{"filename":"src/lucky_flow.cr","line_number":52,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L52"},"def":{"name":"open_screenshot","args":[{"name":"process","default_value":"Process","external_name":"process","restriction":""},{"name":"time","default_value":"Time.utc","external_name":"time","restriction":""},{"name":"fullsize","default_value":"false","external_name":"fullsize","restriction":""}],"return_type":"Void","visibility":"Public","body":"filename = generate_screenshot_filename(time)\ntake_screenshot(filename, fullsize)\nprocess.new(command: \"#{open_command(process)} #{filename}\", shell: true)\n"}},{"html_id":"pause-instance-method","name":"pause","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":170,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L170"},"def":{"name":"pause","visibility":"Public","body":"puts(\"\\nPausing to debug... (press enter to continue)\")\nSTDIN.gets\n"}},{"html_id":"select(name_attr:String,value:Array(String)|String)-instance-method","name":"select","doc":"Select an option from a select element\n\n```\nselect(\"post:category\", value: \"rant\")\n```\n\nIf given an Array(String), the select is assumed to have the 'multiple' attribute\nand will raise a `LuckyFlow::InvalidMultiSelectError` if it doesn't.\n\n```\nselect(\"post:tags\", value: [\"rant\", \"technology\"])\n```\n","summary":"Select an option from a select element
","abstract":false,"args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"value","restriction":"Array(String) | String"}],"args_string":"(name_attr : String, value : Array(String) | String)","args_html":"(name_attr : String, value : Array(String) | String)","location":{"filename":"src/lucky_flow.cr","line_number":129,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L129"},"def":{"name":"select","args":[{"name":"name_attr","external_name":"name_attr","restriction":"String"},{"name":"value","external_name":"value","restriction":"Array(String) | String"}],"visibility":"Public","body":"self.select(field(name_attr), value: value)"}},{"html_id":"select(element:Element,value:String)-instance-method","name":"select","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(element : Element, value : String)","args_html":"(element : Element, value : String)","location":{"filename":"src/lucky_flow.cr","line_number":133,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L133"},"def":{"name":"select","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"element.select_option(value)"}},{"html_id":"select(element:Element,value:Array(String))-instance-method","name":"select","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"Array(String)"}],"args_string":"(element : Element, value : Array(String))","args_html":"(element : Element, value : Array(String))","location":{"filename":"src/lucky_flow.cr","line_number":137,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L137"},"def":{"name":"select","args":[{"name":"element","external_name":"element","restriction":"Element"},{"name":"value","external_name":"value","restriction":"Array(String)"}],"visibility":"Public","body":"element.select_options(value)"}},{"html_id":"settings-instance-method","name":"settings","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L16"},"def":{"name":"settings","visibility":"Public","body":"HabitatSettings"}},{"html_id":"take_screenshot(filename:String=generate_screenshot_filename,fullsize:Bool=true)-instance-method","name":"take_screenshot","abstract":false,"args":[{"name":"filename","default_value":"generate_screenshot_filename","external_name":"filename","restriction":"String"},{"name":"fullsize","default_value":"true","external_name":"fullsize","restriction":"Bool"}],"args_string":"(filename : String = generate_screenshot_filename, fullsize : Bool = true)","args_html":"(filename : String = generate_screenshot_filename, fullsize : Bool = true)","location":{"filename":"src/lucky_flow.cr","line_number":58,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L58"},"def":{"name":"take_screenshot","args":[{"name":"filename","default_value":"generate_screenshot_filename","external_name":"filename","restriction":"String"},{"name":"fullsize","default_value":"true","external_name":"fullsize","restriction":"Bool"}],"visibility":"Public","body":"if fullsize\n with_fullsized_page do\n driver.screenshot(filename)\n end\nelse\n driver.screenshot(filename)\nend"}},{"html_id":"visit(path:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow.cr","line_number":48,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L48"},"def":{"name":"visit","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"driver.visit(\"#{settings.base_uri}#{path}\")"}},{"html_id":"with_fullsized_page(&)-instance-method","name":"with_fullsized_page","abstract":false,"location":{"filename":"src/lucky_flow.cr","line_number":74,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L74"},"def":{"name":"with_fullsized_page","yields":0,"block_arity":0,"visibility":"Public","body":"begin\n original_size = driver.window_size\n expand_page_to_fullsize\n yield\nensure\n if original_size\n driver.resize_window(**original_size)\n end\nend"}}],"types":[{"html_id":"lucky_flow/LuckyFlow/Driver","path":"LuckyFlow/Driver.html","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver","abstract":true,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},{"html_id":"lucky_flow/LuckyFlow/Webless/Driver","kind":"class","full_name":"LuckyFlow::Webless::Driver","name":"Driver"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L10"},"def":{"name":"accept_alert","visibility":"Public","body":""}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":true,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L16"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L15"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":""}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L11"},"def":{"name":"dismiss_alert","visibility":"Public","body":""}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":true,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L13"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":""}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":true,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L14"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":""}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":true,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/driver.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L17"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":true,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/driver.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L12"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":""}},{"html_id":"html:String-instance-method","name":"html","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L18"},"def":{"name":"html","return_type":"String","visibility":"Public","body":""}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L8"},"def":{"name":"maximize_window","visibility":"Public","body":""}},{"html_id":"reset-instance-method","name":"reset","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L3"},"def":{"name":"reset","visibility":"Public","body":""}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":true,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/driver.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L9"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":""}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":true,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L5"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"shutdown-instance-method","name":"shutdown","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L4"},"def":{"name":"shutdown","visibility":"Public","body":""}},{"html_id":"stop-instance-method","name":"stop","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L2"},"def":{"name":"stop","visibility":"Public","body":""}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":true,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/driver.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L6"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":true,"location":{"filename":"src/lucky_flow/driver.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L7"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":""}}],"macros":[{"html_id":"unsupported-macro","name":"unsupported","abstract":false,"location":{"filename":"src/lucky_flow/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/driver.cr#L20"},"def":{"name":"unsupported","visibility":"Public","body":" method_name = \n\\{\n{ @def.name.stringify }}\n raise NotSupportedByDriverError.new(\"#{self.class}##{method_name}\")\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/DriverInstallationError","path":"LuckyFlow/DriverInstallationError.html","kind":"class","full_name":"LuckyFlow::DriverInstallationError","name":"DriverInstallationError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L26"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new(error:Exception)-class-method","name":"new","abstract":false,"args":[{"name":"error","external_name":"error","restriction":"Exception"}],"args_string":"(error : Exception)","args_html":"(error : Exception)","location":{"filename":"src/lucky_flow/errors.cr","line_number":27,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L27"},"def":{"name":"new","args":[{"name":"error","external_name":"error","restriction":"Exception"}],"visibility":"Public","body":"_ = allocate\n_.initialize(error)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Element","path":"LuckyFlow/Element.html","kind":"class","full_name":"LuckyFlow::Element","name":"Element","abstract":true,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Element","kind":"class","full_name":"LuckyFlow::Selenium::Element","name":"Element"},{"html_id":"lucky_flow/LuckyFlow/Webless/Element","kind":"class","full_name":"LuckyFlow::Webless::Element","name":"Element"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"instance_methods":[{"html_id":"append(value:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfield = el(\"input[name='comment']\")\nfield.fill(\"Lucky is:\")\n\nfield.append(\" So much fun!\")\n```","summary":"Add text to the end of a field
","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":62,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L62"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"send_keys(value)"}},{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":true,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L11"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"attribute(name:Symbol):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : String | Nil","args_html":"(name : Symbol) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":30,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L30"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"String | ::Nil","visibility":"Public","body":"attribute(name.to_s)"}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L10"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"clear-instance-method","name":"clear","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L14"},"def":{"name":"clear","visibility":"Public","body":""}},{"html_id":"click-instance-method","name":"click","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L6"},"def":{"name":"click","visibility":"Public","body":""}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L8"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"driver:LuckyFlow::Driver-instance-method","name":"driver","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L2"},"def":{"name":"driver","return_type":"LuckyFlow::Driver","visibility":"Public","body":"@driver"}},{"html_id":"fill(value:String)-instance-method","name":"fill","doc":"Set the text of a form field\n\n```\nfield = el(\"input[name='comment']\")\n\nfield.fill(\"Lucky is great!\")\n```","summary":"Set the text of a form field
","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L45"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"clear\nsend_keys(value)\n"}},{"html_id":"fill(value:Time)-instance-method","name":"fill","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"}],"args_string":"(value : Time)","args_html":"(value : Time)","location":{"filename":"src/lucky_flow/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L50"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"Time"}],"visibility":"Public","body":"fill(value.to_s(\"%Y-%m-%d\"))"}},{"html_id":"hover-instance-method","name":"hover","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L70"},"def":{"name":"hover","visibility":"Public","body":"driver.hover(self)"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":17,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L17"},"def":{"name":"midpoint","return_type":"::NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":""}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":true,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L12"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":""}},{"html_id":"property(name:Symbol):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : String | Nil","args_html":"(name : Symbol) : String | Nil","location":{"filename":"src/lucky_flow/element.cr","line_number":34,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L34"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"String | ::Nil","visibility":"Public","body":"property(name.to_s)"}},{"html_id":"raw_selector:String-instance-method","name":"raw_selector","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L3"},"def":{"name":"raw_selector","return_type":"String","visibility":"Public","body":"@raw_selector"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":true,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L15"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":""}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":true,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/element.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L16"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":""}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L9"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"selector:String-instance-method","name":"selector","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":66,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L66"},"def":{"name":"selector","return_type":"String","visibility":"Public","body":"(Selector.new(raw_selector)).parse"}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":true,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/element.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L7"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":""}},{"html_id":"send_keys(key:String)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/lucky_flow/element.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L26"},"def":{"name":"send_keys","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"send_keys([key])"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L13"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":""}},{"html_id":"text:String-instance-method","name":"text","abstract":true,"location":{"filename":"src/lucky_flow/element.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L5"},"def":{"name":"text","return_type":"String","visibility":"Public","body":""}},{"html_id":"value-instance-method","name":"value","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":22,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L22"},"def":{"name":"value","visibility":"Public","body":"property(\"value\")"}}],"macros":[{"html_id":"unsupported-macro","name":"unsupported","abstract":false,"location":{"filename":"src/lucky_flow/element.cr","line_number":74,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/element.cr#L74"},"def":{"name":"unsupported","visibility":"Public","body":" method_name = \n\\{\n{ @def.name.stringify }}\n raise NotSupportedByElementError.new(\"#{self.class}##{method_name}\")\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/ElementNotFoundError","path":"LuckyFlow/ElementNotFoundError.html","kind":"class","full_name":"LuckyFlow::ElementNotFoundError","name":"ElementNotFoundError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L14"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector:String,inner_text:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"}],"args_string":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil)","args_html":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil)","location":{"filename":"src/lucky_flow/errors.cr","line_number":15,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L15"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Error","path":"LuckyFlow/Error.html","kind":"class","full_name":"LuckyFlow::Error","name":"Error","abstract":false,"superclass":{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L5"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/DriverInstallationError","kind":"class","full_name":"LuckyFlow::DriverInstallationError","name":"DriverInstallationError"},{"html_id":"lucky_flow/LuckyFlow/ElementNotFoundError","kind":"class","full_name":"LuckyFlow::ElementNotFoundError","name":"ElementNotFoundError"},{"html_id":"lucky_flow/LuckyFlow/InfiniteRedirectError","kind":"class","full_name":"LuckyFlow::InfiniteRedirectError","name":"InfiniteRedirectError"},{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByDriverError","kind":"class","full_name":"LuckyFlow::NotSupportedByDriverError","name":"NotSupportedByDriverError"},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByElementError","kind":"class","full_name":"LuckyFlow::NotSupportedByElementError","name":"NotSupportedByElementError"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"= LuckyFlow Errors\n\nGeneric LuckyFlow exception class.","summary":"= LuckyFlow Errors
"},{"html_id":"lucky_flow/LuckyFlow/ErrorMessageWhenNotFound","path":"LuckyFlow/ErrorMessageWhenNotFound.html","kind":"class","full_name":"LuckyFlow::ErrorMessageWhenNotFound","name":"ErrorMessageWhenNotFound","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L3"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"build(*args,**named_args)-class-method","name":"build","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **named_args)","args_html":"(*args, **named_args)","location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L6"},"def":{"name":"build","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"named_args","external_name":"named_args","restriction":""},"splat_index":0,"visibility":"Public","body":"(new(*args, **named_args)).build"}}],"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector:String,inner_text:String|Nil,negate:Bool=false)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"},{"name":"negate","default_value":"false","external_name":"negate","restriction":"Bool"}],"args_string":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil, negate : Bool = false)","args_html":"(driver : LuckyFlow::Driver, selector : String, inner_text : String | Nil, negate : Bool = false)","location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L10"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":"String"},{"name":"inner_text","external_name":"inner_text","restriction":"String | ::Nil"},{"name":"negate","default_value":"false","external_name":"negate","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text, negate)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"build-instance-method","name":"build","abstract":false,"location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L18"},"def":{"name":"build","visibility":"Public","body":"String.build do |message|\n message << \"Expected \"\n if negate\n message << \"not \"\n end\n message << \"to find element on page, but it was \"\n if negate\n else\n message << \"not \"\n end\n message << \"found.\"\n message << \"\\n\\n â–¸ looking for: #{selector}\"\n if !inner_text.empty?\n message << \"\\n â–¸ with text: #{inner_text}\"\n end\n if (similar_flow_id && inner_text.empty?) && (!negate)\n message << \"\\n\\n\"\n message << \" Did you mean...\"\n message << \"\\n\\n â–¸ \"\n message << \"'@#{similar_flow_id}'\\n\"\n end\nend"}},{"html_id":"inner_text-instance-method","name":"inner_text","abstract":false,"location":{"filename":"src/lucky_flow/error_message_when_not_found.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/error_message_when_not_found.cr#L40"},"def":{"name":"inner_text","visibility":"Public","body":"(@inner_text || \"\")"}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations","path":"LuckyFlow/Expectations.html","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations","abstract":false,"locations":[{"filename":"src/lucky_flow/expectations.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations.cr#L4"},{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveCurrentPathExpectation","path":"LuckyFlow/Expectations/HaveCurrentPathExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveCurrentPathExpectation","name":"HaveCurrentPathExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(expected_path:String)-class-method","name":"new","abstract":false,"args":[{"name":"expected_path","external_name":"expected_path","restriction":"String"}],"args_string":"(expected_path : String)","args_html":"(expected_path : String)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L2"},"def":{"name":"new","args":[{"name":"expected_path","external_name":"expected_path","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expected_path)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(flow)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":""}],"args_string":"(flow)","args_html":"(flow)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L9"},"def":{"name":"failure_message","args":[{"name":"flow","external_name":"flow","restriction":""}],"visibility":"Public","body":"\"Expected current path to be: #{@expected_path}\\n actual: #{flow.current_path}\""}},{"html_id":"match(flow:LuckyFlow):Bool-instance-method","name":"match","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow) : Bool","args_html":"(flow : LuckyFlow) : Bool","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L5"},"def":{"name":"match","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"return_type":"Bool","visibility":"Public","body":"flow.current_path == @expected_path"}},{"html_id":"negative_failure_message(_flow)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"_flow","external_name":"_flow","restriction":""}],"args_string":"(_flow)","args_html":"(_flow)","location":{"filename":"src/lucky_flow/expectations/have_current_path_expectation.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_current_path_expectation.cr#L16"},"def":{"name":"negative_failure_message","args":[{"name":"_flow","external_name":"_flow","restriction":""}],"visibility":"Public","body":"\"Expected current path not to be: #{@expected_path}\""}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveElementExpectation","path":"LuckyFlow/Expectations/HaveElementExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveElementExpectation","name":"HaveElementExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(css_selector:String,text:String|Nil,visible:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String | ::Nil"},{"name":"visible","external_name":"visible","restriction":"Bool"}],"args_string":"(css_selector : String, text : String | Nil, visible : Bool)","args_html":"(css_selector : String, text : String | Nil, visible : Bool)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":4,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L4"},"def":{"name":"new","args":[{"name":"css_selector","external_name":"css_selector","restriction":"String"},{"name":"text","external_name":"text","restriction":"String | ::Nil"},{"name":"visible","external_name":"visible","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(css_selector, text, visible)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(flow:LuckyFlow)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow)","args_html":"(flow : LuckyFlow)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L24"},"def":{"name":"failure_message","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"visibility":"Public","body":"LuckyFlow::ErrorMessageWhenNotFound.build(flow.driver, @css_selector, @text)"}},{"html_id":"match(flow:LuckyFlow):Bool-instance-method","name":"match","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow) : Bool","args_html":"(flow : LuckyFlow) : Bool","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L8"},"def":{"name":"match","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"return_type":"Bool","visibility":"Public","body":"begin\n element = if text = @text\n flow.el(@css_selector, text)\n else\n flow.el(@css_selector)\n end\n if @visible\n element.displayed?\n else\n true\n end\nrescue LuckyFlow::ElementNotFoundError\n false\nend"}},{"html_id":"negative_failure_message(flow:LuckyFlow)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"args_string":"(flow : LuckyFlow)","args_html":"(flow : LuckyFlow)","location":{"filename":"src/lucky_flow/expectations/have_element_expectation.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_element_expectation.cr#L32"},"def":{"name":"negative_failure_message","args":[{"name":"flow","external_name":"flow","restriction":"LuckyFlow"}],"visibility":"Public","body":"LuckyFlow::ErrorMessageWhenNotFound.build(flow.driver, @css_selector, @text, negate: true)"}}]},{"html_id":"lucky_flow/LuckyFlow/Expectations/HaveTextExpectation","path":"LuckyFlow/Expectations/HaveTextExpectation.html","kind":"struct","full_name":"LuckyFlow::Expectations::HaveTextExpectation","name":"HaveTextExpectation","abstract":false,"superclass":{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"lucky_flow/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"lucky_flow/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Expectations","kind":"module","full_name":"LuckyFlow::Expectations","name":"Expectations"},"constructors":[{"html_id":"new(expected_value:String)-class-method","name":"new","abstract":false,"args":[{"name":"expected_value","external_name":"expected_value","restriction":"String"}],"args_string":"(expected_value : String)","args_html":"(expected_value : String)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L2"},"def":{"name":"new","args":[{"name":"expected_value","external_name":"expected_value","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expected_value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failure_message(element:LuckyFlow::Element)-instance-method","name":"failure_message","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L9"},"def":{"name":"failure_message","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"\"Expected element to have text: #{@expected_value}\\n actual: #{element.text}\""}},{"html_id":"match(element:LuckyFlow::Element)-instance-method","name":"match","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":5,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L5"},"def":{"name":"match","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"element.text.includes?(@expected_value)"}},{"html_id":"negative_failure_message(element:LuckyFlow::Element)-instance-method","name":"negative_failure_message","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/expectations/have_text_expectation.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/expectations/have_text_expectation.cr#L16"},"def":{"name":"negative_failure_message","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"\"Expected element not to have text: #{@expected_value}\""}}]}]},{"html_id":"lucky_flow/LuckyFlow/FindElement","path":"LuckyFlow/FindElement.html","kind":"class","full_name":"LuckyFlow::FindElement","name":"FindElement","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/find_element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"Find element on a page with a retry","summary":"Find element on a page with a retry
","class_methods":[{"html_id":"run(*args,**named_args):LuckyFlow::Element-class-method","name":"run","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **named_args) : LuckyFlow::Element","args_html":"(*args, **named_args) : LuckyFlow::Element","location":{"filename":"src/lucky_flow/find_element.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L12"},"def":{"name":"run","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"named_args","external_name":"named_args","restriction":""},"splat_index":0,"return_type":"LuckyFlow::Element","visibility":"Public","body":"(new(*args, **named_args)).run"}}],"constructors":[{"html_id":"new(driver:LuckyFlow::Driver,selector,textinner_text:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"::LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":""},{"name":"inner_text","default_value":"nil","external_name":"text","restriction":"::Nil | ::String"}],"args_string":"(driver : LuckyFlow::Driver, selector, text inner_text : Nil | String = nil)","args_html":"(driver : LuckyFlow::Driver, selector, text inner_text : Nil | String = nil)","location":{"filename":"src/lucky_flow/find_element.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L8"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"::LuckyFlow::Driver"},{"name":"selector","external_name":"selector","restriction":""},{"name":"inner_text","default_value":"nil","external_name":"text","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, selector, inner_text)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"run:LuckyFlow::Element-instance-method","name":"run","abstract":false,"location":{"filename":"src/lucky_flow/find_element.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/find_element.cr#L16"},"def":{"name":"run","return_type":"LuckyFlow::Element","visibility":"Public","body":"loop do\n matching_elements = find_matching_elements\n if matching_elements.first?\n return matching_elements.first\n end\n if has_retries_left?\n else\n break\n end\n sleep(retry_delay_in_ms)\nend\nraise_element_not_found_error\n"}}]},{"html_id":"lucky_flow/LuckyFlow/HabitatSettings","path":"LuckyFlow/HabitatSettings.html","kind":"class","full_name":"LuckyFlow::HabitatSettings","name":"HabitatSettings","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow.cr#L16"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"base_uri:String-class-method","name":"base_uri","abstract":false,"def":{"name":"base_uri","return_type":"String","visibility":"Public","body":"@@base_uri.not_nil!"}},{"html_id":"base_uri=(value:String)-class-method","name":"base_uri=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","def":{"name":"base_uri=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@@base_uri = value"}},{"html_id":"base_uri?-class-method","name":"base_uri?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use base_uri in your apps to ensure\nthe propper type is checked.","summary":"Used for checking missing settings on non-nilable types It's advised to use base_uri in your apps to ensure the propper type is checked.
","abstract":false,"def":{"name":"base_uri?","visibility":"Public","body":"@@base_uri"}},{"html_id":"driver_path:String|Nil-class-method","name":"driver_path","abstract":false,"def":{"name":"driver_path","return_type":"String | ::Nil","visibility":"Public","body":"@@driver_path"}},{"html_id":"driver_path=(value:String|Nil)-class-method","name":"driver_path=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String | ::Nil"}],"args_string":"(value : String | Nil)","args_html":"(value : String | Nil)","def":{"name":"driver_path=","args":[{"name":"value","external_name":"value","restriction":"String | ::Nil"}],"visibility":"Public","body":"@@driver_path = value"}},{"html_id":"driver_path?-class-method","name":"driver_path?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use driver_path in your apps to ensure\nthe propper type is checked.","summary":"Used for checking missing settings on non-nilable types It's advised to use driver_path in your apps to ensure the propper type is checked.
","abstract":false,"def":{"name":"driver_path?","visibility":"Public","body":"@@driver_path"}},{"html_id":"retry_delay:Time::Span-class-method","name":"retry_delay","abstract":false,"def":{"name":"retry_delay","return_type":"Time::Span","visibility":"Public","body":"@@retry_delay.not_nil!"}},{"html_id":"retry_delay=(value:Time::Span)-class-method","name":"retry_delay=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"args_string":"(value : Time::Span)","args_html":"(value : Time::Span)","def":{"name":"retry_delay=","args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"visibility":"Public","body":"@@retry_delay = value"}},{"html_id":"retry_delay?-class-method","name":"retry_delay?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use retry_delay in your apps to ensure\nthe propper type is checked.","summary":"Used for checking missing settings on non-nilable types It's advised to use retry_delay in your apps to ensure the propper type is checked.
","abstract":false,"def":{"name":"retry_delay?","visibility":"Public","body":"@@retry_delay"}},{"html_id":"screenshot_directory:String-class-method","name":"screenshot_directory","abstract":false,"def":{"name":"screenshot_directory","return_type":"String","visibility":"Public","body":"@@screenshot_directory.not_nil!"}},{"html_id":"screenshot_directory=(value:String)-class-method","name":"screenshot_directory=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","def":{"name":"screenshot_directory=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@@screenshot_directory = value"}},{"html_id":"screenshot_directory?-class-method","name":"screenshot_directory?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use screenshot_directory in your apps to ensure\nthe propper type is checked.","summary":"Used for checking missing settings on non-nilable types It's advised to use screenshot_directory in your apps to ensure the propper type is checked.
","abstract":false,"def":{"name":"screenshot_directory?","visibility":"Public","body":"@@screenshot_directory"}},{"html_id":"stop_retrying_after:Time::Span-class-method","name":"stop_retrying_after","abstract":false,"def":{"name":"stop_retrying_after","return_type":"Time::Span","visibility":"Public","body":"@@stop_retrying_after.not_nil!"}},{"html_id":"stop_retrying_after=(value:Time::Span)-class-method","name":"stop_retrying_after=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"args_string":"(value : Time::Span)","args_html":"(value : Time::Span)","def":{"name":"stop_retrying_after=","args":[{"name":"value","external_name":"value","restriction":"Time::Span"}],"visibility":"Public","body":"@@stop_retrying_after = value"}},{"html_id":"stop_retrying_after?-class-method","name":"stop_retrying_after?","doc":"Used for checking missing settings on non-nilable types\nIt's advised to use stop_retrying_after in your apps to ensure\nthe propper type is checked.","summary":"Used for checking missing settings on non-nilable types It's advised to use stop_retrying_after in your apps to ensure the propper type is checked.
","abstract":false,"def":{"name":"stop_retrying_after?","visibility":"Public","body":"@@stop_retrying_after"}},{"html_id":"to_h-class-method","name":"to_h","doc":"Generates a hash using the provided values","summary":"Generates a hash using the provided values
","abstract":false,"def":{"name":"to_h","visibility":"Public","body":"{\"screenshot_directory\" => screenshot_directory, \"base_uri\" => base_uri, \"retry_delay\" => retry_delay, \"stop_retrying_after\" => stop_retrying_after, \"driver_path\" => driver_path}"}}]},{"html_id":"lucky_flow/LuckyFlow/InfiniteRedirectError","path":"LuckyFlow/InfiniteRedirectError.html","kind":"class","full_name":"LuckyFlow::InfiniteRedirectError","name":"InfiniteRedirectError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":51,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L51"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/InvalidMultiSelectError","path":"LuckyFlow/InvalidMultiSelectError.html","kind":"class","full_name":"LuckyFlow::InvalidMultiSelectError","name":"InvalidMultiSelectError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError"},{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L45"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/errors.cr","line_number":46,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L46"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"lucky_flow/LuckyFlow/InvalidOperationError","path":"LuckyFlow/InvalidOperationError.html","kind":"class","full_name":"LuckyFlow::InvalidOperationError","name":"InvalidOperationError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":42,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L42"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/InvalidMultiSelectError","kind":"class","full_name":"LuckyFlow::InvalidMultiSelectError","name":"InvalidMultiSelectError"}],"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByDriverError","path":"LuckyFlow/NotSupportedByDriverError.html","kind":"class","full_name":"LuckyFlow::NotSupportedByDriverError","name":"NotSupportedByDriverError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L8"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/NotSupportedByElementError","path":"LuckyFlow/NotSupportedByElementError.html","kind":"class","full_name":"LuckyFlow::NotSupportedByElementError","name":"NotSupportedByElementError","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Error","kind":"class","full_name":"LuckyFlow::Error","name":"Error"},{"html_id":"lucky_flow/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/errors.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/errors.cr#L11"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"}},{"html_id":"lucky_flow/LuckyFlow/Registry","path":"LuckyFlow/Registry.html","kind":"class","full_name":"LuckyFlow::Registry","name":"Registry","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/registry.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"class_methods":[{"html_id":"available:Set(String)-class-method","name":"available","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L12"},"def":{"name":"available","return_type":"Set(String)","visibility":"Public","body":"Set.new(@@registry.keys)"}},{"html_id":"current_driver:LuckyFlow::Driver|Nil-class-method","name":"current_driver","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L3"},"def":{"name":"current_driver","return_type":"LuckyFlow::Driver | ::Nil","visibility":"Public","body":"@@current_driver"}},{"html_id":"current_driver=(current_driver:LuckyFlow::Driver|Nil)-class-method","name":"current_driver=","abstract":false,"args":[{"name":"current_driver","external_name":"current_driver","restriction":"LuckyFlow::Driver | ::Nil"}],"args_string":"(current_driver : LuckyFlow::Driver | Nil)","args_html":"(current_driver : LuckyFlow::Driver | Nil)","location":{"filename":"src/lucky_flow/registry.cr","line_number":3,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L3"},"def":{"name":"current_driver=","args":[{"name":"current_driver","external_name":"current_driver","restriction":"LuckyFlow::Driver | ::Nil"}],"visibility":"Public","body":"@@current_driver = current_driver"}},{"html_id":"default_driver:String-class-method","name":"default_driver","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L2"},"def":{"name":"default_driver","return_type":"String","visibility":"Public","body":"@@default_driver"}},{"html_id":"default_driver=(default_driver:String)-class-method","name":"default_driver=","abstract":false,"args":[{"name":"default_driver","external_name":"default_driver","restriction":"String"}],"args_string":"(default_driver : String)","args_html":"(default_driver : String)","location":{"filename":"src/lucky_flow/registry.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L2"},"def":{"name":"default_driver=","args":[{"name":"default_driver","external_name":"default_driver","restriction":"String"}],"visibility":"Public","body":"@@default_driver = default_driver"}},{"html_id":"get_driver(name:String=default_driver):LuckyFlow::Driver-class-method","name":"get_driver","abstract":false,"args":[{"name":"name","default_value":"default_driver","external_name":"name","restriction":"String"}],"args_string":"(name : String = default_driver) : LuckyFlow::Driver","args_html":"(name : String = default_driver) : LuckyFlow::Driver","location":{"filename":"src/lucky_flow/registry.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L16"},"def":{"name":"get_driver","args":[{"name":"name","default_value":"default_driver","external_name":"name","restriction":"String"}],"return_type":"LuckyFlow::Driver","visibility":"Public","body":"__temp_93 = name\n@@running_registry[__temp_93]? || (@@running_registry[__temp_93] = @@registry[name].call)\n"}},{"html_id":"register(name:String|Symbol,&block:->LuckyFlow::Driver)-class-method","name":"register","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | Symbol"}],"args_string":"(name : String | Symbol, &block : -> LuckyFlow::Driver)","args_html":"(name : String | Symbol, &block : -> LuckyFlow::Driver)","location":{"filename":"src/lucky_flow/registry.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L8"},"def":{"name":"register","args":[{"name":"name","external_name":"name","restriction":"String | Symbol"}],"yields":0,"block_arity":0,"block_arg":{"name":"block","external_name":"block","restriction":"(-> LuckyFlow::Driver)"},"visibility":"Public","body":"@@registry[name.to_s] = block"}},{"html_id":"shutdown_all-class-method","name":"shutdown_all","abstract":false,"location":{"filename":"src/lucky_flow/registry.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/registry.cr#L20"},"def":{"name":"shutdown_all","visibility":"Public","body":"@@running_registry.values.each(&.shutdown)\n@@running_registry.clear\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Selector","path":"LuckyFlow/Selector.html","kind":"class","full_name":"LuckyFlow::Selector","name":"Selector","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selector.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selector.cr#L7"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"doc":"Returns selector or transforms it into a flow-id selector\n\nExample:\n\n Selector.new(\".some-class\").parse # => \".some-class\"\n Selector.new(\"@new-comment-button\").parse # => \"[flow-id='new-comment-button']\"","summary":"Returns selector or transforms it into a flow-id selector
","constructors":[{"html_id":"new(raw_selector:String)-class-method","name":"new","abstract":false,"args":[{"name":"raw_selector","external_name":"raw_selector","restriction":"String"}],"args_string":"(raw_selector : String)","args_html":"(raw_selector : String)","location":{"filename":"src/lucky_flow/selector.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selector.cr#L10"},"def":{"name":"new","args":[{"name":"raw_selector","external_name":"raw_selector","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(raw_selector)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"parse-instance-method","name":"parse","abstract":false,"location":{"filename":"src/lucky_flow/selector.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selector.cr#L13"},"def":{"name":"parse","visibility":"Public","body":"if should_select_flow_id?\n flow_id_selector\nelse\n raw_selector\nend"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium","path":"LuckyFlow/Selenium.html","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L1"},{"filename":"src/lucky_flow/selenium/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome","path":"LuckyFlow/Selenium/Chrome.html","kind":"module","full_name":"LuckyFlow::Selenium::Chrome","name":"Chrome","abstract":false,"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"types":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome/Driver","path":"LuckyFlow/Selenium/Chrome/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Chrome::Driver","name":"Driver","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver"},{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome","kind":"module","full_name":"LuckyFlow::Selenium::Chrome","name":"Chrome"},"constructors":[{"html_id":"new(&)-class-method","name":"new","abstract":false,"location":{"filename":"src/lucky_flow/selenium/chrome/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/chrome/driver.cr#L8"},"def":{"name":"new","yields":1,"block_arity":1,"visibility":"Public","body":"_ = allocate\n_.initialize do |_arg0|\n yield _arg0\nend\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Driver","path":"LuckyFlow/Selenium/Driver.html","kind":"class","full_name":"LuckyFlow::Selenium::Driver","name":"Driver","abstract":true,"superclass":{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"lucky_flow/LuckyFlow/Selenium/Chrome/Driver","kind":"class","full_name":"LuckyFlow::Selenium::Chrome::Driver","name":"Driver"}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":33,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L33"},"def":{"name":"accept_alert","visibility":"Public","body":"session.alert_manager.accept_alert"}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":59,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L59"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"session.cookie_manager.add_cookie(key, value)"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":55,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L55"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"session.current_url"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":37,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L37"},"def":{"name":"dismiss_alert","visibility":"Public","body":"session.alert_manager.dismiss_alert"}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":47,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L47"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"find_elements(:css, query)"}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":51,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L51"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"find_elements(:xpath, query)"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":63,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L63"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"(session.cookie_manager.get_cookie(key)).value"}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":41,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L41"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"if midpoint = element.midpoint\n session.move_to(**midpoint)\nend"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":67,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L67"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"session.document_manager.page_source"}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":25,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L25"},"def":{"name":"maximize_window","visibility":"Public","body":"session.window_manager.maximize"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":71,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L71"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@session.try do |__arg0|\n __arg0.cookie_manager.delete_all_cookies\nend"}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L29"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"session.window_manager.resize_window(width: width, height: height)"}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":11,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L11"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"FileUtils.mkdir_p(File.dirname(path))\nsession.screenshot(path)\n"}},{"html_id":"shutdown:Nil-instance-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":79,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L79"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"@session.try(&.delete)\nstop\n"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":75,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L75"},"def":{"name":"stop","visibility":"Public","body":"@driver.try(&.stop)"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L16"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"session.navigate_to(url)"}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":false,"location":{"filename":"src/lucky_flow/selenium/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/driver.cr#L20"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":"result = session.window_manager.window_rect\n{width: result.width, height: result.height}\n"}}]},{"html_id":"lucky_flow/LuckyFlow/Selenium/Element","path":"LuckyFlow/Selenium/Element.html","kind":"class","full_name":"LuckyFlow::Selenium::Element","name":"Element","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/selenium/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Selenium","kind":"module","full_name":"LuckyFlow::Selenium","name":"Selenium"},"constructors":[{"html_id":"new(driver,raw_selector,inner_element:::Selenium::Element)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::Selenium::Element"}],"args_string":"(driver, raw_selector, inner_element : ::Selenium::Element)","args_html":"(driver, raw_selector, inner_element : ::Selenium::Element)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L6"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::Selenium::Element"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, raw_selector, inner_element)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":26,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L26"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@inner_element.attribute(name)"}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":22,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L22"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":"selected?"}},{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":38,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L38"},"def":{"name":"clear","visibility":"Public","body":"@inner_element.clear"}},{"html_id":"click-instance-method","name":"click","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":42,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L42"},"def":{"name":"click","visibility":"Public","body":"@inner_element.click"}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L14"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":"@inner_element.displayed?"}},{"html_id":"fill(value:Time)-instance-method","name":"fill","doc":"To set the value of date inputs correctly\nyou must put the year last\nbut it still submits the form with the date first\n...any questions?","summary":"To set the value of date inputs correctly you must put the year last but it still submits the form with the date first ...any questions?
","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"}],"args_string":"(value : Time)","args_html":"(value : Time)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L50"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"Time"}],"visibility":"Public","body":"fill(value.to_s(\"%m-%d-%Y\"))"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":70,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L70"},"def":{"name":"midpoint","return_type":"NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":"midpoint = @inner_element.rect.try(&.midpoint)\nif midpoint.nil?\n return\nend\n{x: midpoint.x, y: midpoint.y}\n"}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":30,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L30"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@inner_element.property(name)"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":58,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L58"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"select_el = ::Selenium::Helpers::Select.from_element(@inner_element)\nselect_el.select_by_value(value)\n"}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":63,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L63"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":"select_el = ::Selenium::Helpers::Select.from_element(@inner_element)\nif select_el.multiple?\nelse\n raise(LuckyFlow::InvalidMultiSelectError.new)\nend\nvalues.each do |value|\n select_el.select_by_value(value)\nend\n"}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":18,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L18"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":"@inner_element.selected?"}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":false,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":54,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L54"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":"@inner_element.send_keys(keys)"}},{"html_id":"send_keys(*args,**options)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L2"},"def":{"name":"send_keys","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@inner_element.send_keys(*args, **options)"}},{"html_id":"send_keys(*args,**options,&)-instance-method","name":"send_keys","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L2"},"def":{"name":"send_keys","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@inner_element.send_keys(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":34,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L34"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":"@inner_element.tag_name"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/lucky_flow/selenium/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/selenium/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.text"}}]}]},{"html_id":"lucky_flow/LuckyFlow/Spec","path":"LuckyFlow/Spec.html","kind":"module","full_name":"LuckyFlow::Spec","name":"Spec","abstract":false,"locations":[{"filename":"src/lucky_flow/spec.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/spec.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"macros":[{"html_id":"setup-macro","name":"setup","abstract":false,"location":{"filename":"src/lucky_flow/spec.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/spec.cr#L2"},"def":{"name":"setup","visibility":"Public","body":" Spec.around_each do |spec|\n if driver_name = (spec.example._lucky_flow_all_tags & LuckyFlow::Registry.available).first?\n LuckyFlow.driver(driver_name)\n \nend\n\n spec.run\n\n LuckyFlow.reset\n LuckyFlow.use_default_driver\n \nend\n\n Spec.after_suite do\n LuckyFlow.shutdown\n \nend\n \n"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless","path":"LuckyFlow/Webless.html","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless","abstract":false,"locations":[{"filename":"src/lucky_flow/webless/browser.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow","kind":"class","full_name":"LuckyFlow","name":"LuckyFlow"},"types":[{"html_id":"lucky_flow/LuckyFlow/Webless/Browser","path":"LuckyFlow/Webless/Browser.html","kind":"class","full_name":"LuckyFlow::Webless::Browser","name":"Browser","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/browser.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"REDIRECT_LIMIT","name":"REDIRECT_LIMIT","value":"5"}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(client:::Webless::Client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"::Webless::Client"}],"args_string":"(client : ::Webless::Client)","args_html":"(client : ::Webless::Client)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L6"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":"::Webless::Client"}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":41,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L41"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@client.cookie_jar[key] = value"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":33,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L33"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"@client.last_request_url"}},{"html_id":"find_css(query:String):Array(HTML5::Node)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(HTML5::Node)","args_html":"(query : String) : Array(HTML5::Node)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":25,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L25"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(HTML5::Node)","visibility":"Public","body":"parsed_html.css(query)"}},{"html_id":"find_xpath(query:String):Array(HTML5::Node)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(HTML5::Node)","args_html":"(query : String) : Array(HTML5::Node)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L29"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(HTML5::Node)","visibility":"Public","body":"parsed_html.xpath_nodes(query)"}},{"html_id":"follow(method:String,url:String)-instance-method","name":"follow","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String)","args_html":"(method : String, url : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":13,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L13"},"def":{"name":"follow","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@client.exec(method.upcase, url)\nhandle_redirects\n@parsed_html = nil\n"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":45,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L45"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@client.cookie_jar[key]?"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":49,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L49"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"@client.last_response.body"}},{"html_id":"reset-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":37,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L37"},"def":{"name":"reset","visibility":"Public","body":"@client.clear_cookies"}},{"html_id":"submit(request:HTTP::Request)-instance-method","name":"submit","abstract":false,"args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"args_string":"(request : HTTP::Request)","args_html":"(request : HTTP::Request)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":19,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L19"},"def":{"name":"submit","args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"visibility":"Public","body":"@client.exec(request)\nhandle_redirects\n@parsed_html = nil\n"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/webless/browser.cr","line_number":9,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/browser.cr#L9"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"follow(\"GET\", url)"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Driver","path":"LuckyFlow/Webless/Driver.html","kind":"class","full_name":"LuckyFlow::Webless::Driver","name":"Driver","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Driver","kind":"class","full_name":"LuckyFlow::Driver","name":"Driver"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/driver.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(handlers:Array(HTTP::Handler))-class-method","name":"new","abstract":false,"args":[{"name":"handlers","external_name":"handlers","restriction":"Array(HTTP::Handler)"}],"args_string":"(handlers : Array(HTTP::Handler))","args_html":"(handlers : Array(HTTP::Handler))","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L2"},"def":{"name":"new","args":[{"name":"handlers","external_name":"handlers","restriction":"Array(HTTP::Handler)"}],"visibility":"Public","body":"new(HTTP::Server.build_middleware(handlers))"}},{"html_id":"new(handler:HTTP::Handler)-class-method","name":"new","abstract":false,"args":[{"name":"handler","external_name":"handler","restriction":"HTTP::Handler"}],"args_string":"(handler : HTTP::Handler)","args_html":"(handler : HTTP::Handler)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":8,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L8"},"def":{"name":"new","args":[{"name":"handler","external_name":"handler","restriction":"HTTP::Handler"}],"visibility":"Public","body":"_ = allocate\n_.initialize(handler)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept_alert-instance-method","name":"accept_alert","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":36,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L36"},"def":{"name":"accept_alert","visibility":"Public","body":"unsupported"}},{"html_id":"add_cookie(key:String,value:String)-instance-method","name":"add_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(key : String, value : String)","args_html":"(key : String, value : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":60,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L60"},"def":{"name":"add_cookie","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@browser.add_cookie(key, value)"}},{"html_id":"current_url:String-instance-method","name":"current_url","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":56,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L56"},"def":{"name":"current_url","return_type":"String","visibility":"Public","body":"@browser.current_url"}},{"html_id":"dismiss_alert-instance-method","name":"dismiss_alert","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L40"},"def":{"name":"dismiss_alert","visibility":"Public","body":"unsupported"}},{"html_id":"find_css(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_css","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":48,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L48"},"def":{"name":"find_css","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"(@browser.find_css(query)).map do |el|\n element(query, el)\nend"}},{"html_id":"find_xpath(query:String):Array(LuckyFlow::Element)-instance-method","name":"find_xpath","abstract":false,"args":[{"name":"query","external_name":"query","restriction":"String"}],"args_string":"(query : String) : Array(LuckyFlow::Element)","args_html":"(query : String) : Array(LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":52,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L52"},"def":{"name":"find_xpath","args":[{"name":"query","external_name":"query","restriction":"String"}],"return_type":"Array(LuckyFlow::Element)","visibility":"Public","body":"(@browser.find_xpath(query)).map do |el|\n element(query, el)\nend"}},{"html_id":"follow(method:String,url:String)-instance-method","name":"follow","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String)","args_html":"(method : String, url : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":20,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L20"},"def":{"name":"follow","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@browser.follow(method, url)"}},{"html_id":"get_cookie(key:String):String|Nil-instance-method","name":"get_cookie","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String) : String | Nil","args_html":"(key : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":64,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L64"},"def":{"name":"get_cookie","args":[{"name":"key","external_name":"key","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"@browser.get_cookie(key)"}},{"html_id":"hover(element:LuckyFlow::Element)-instance-method","name":"hover","abstract":false,"args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"args_string":"(element : LuckyFlow::Element)","args_html":"(element : LuckyFlow::Element)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":44,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L44"},"def":{"name":"hover","args":[{"name":"element","external_name":"element","restriction":"LuckyFlow::Element"}],"visibility":"Public","body":"unsupported"}},{"html_id":"html:String-instance-method","name":"html","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":68,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L68"},"def":{"name":"html","return_type":"String","visibility":"Public","body":"@browser.html"}},{"html_id":"maximize_window-instance-method","name":"maximize_window","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":28,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L28"},"def":{"name":"maximize_window","visibility":"Public","body":"unsupported"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":76,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L76"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@browser.reset"}},{"html_id":"resize_window(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"resize_window","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"args_string":"(width : Int64 | Nil, height : Int64 | Nil)","args_html":"(width : Int64 | Nil, height : Int64 | Nil)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":32,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L32"},"def":{"name":"resize_window","args":[{"name":"width","external_name":"width","restriction":"Int64 | ::Nil"},{"name":"height","external_name":"height","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"unsupported"}},{"html_id":"screenshot(path:String)-instance-method","name":"screenshot","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":12,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L12"},"def":{"name":"screenshot","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"unsupported"}},{"html_id":"shutdown:Nil-instance-method","name":"shutdown","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":84,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L84"},"def":{"name":"shutdown","return_type":"Nil","visibility":"Public","body":"stop"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":80,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L80"},"def":{"name":"stop","visibility":"Public","body":""}},{"html_id":"submit(request:HTTP::Request)-instance-method","name":"submit","abstract":false,"args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"args_string":"(request : HTTP::Request)","args_html":"(request : HTTP::Request)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":72,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L72"},"def":{"name":"submit","args":[{"name":"request","external_name":"request","restriction":"HTTP::Request"}],"visibility":"Public","body":"@browser.submit(request)"}},{"html_id":"visit(url:String)-instance-method","name":"visit","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":16,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L16"},"def":{"name":"visit","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@browser.visit(url)"}},{"html_id":"window_size:NamedTuple(width:Int64|Nil,height:Int64|Nil)-instance-method","name":"window_size","abstract":false,"location":{"filename":"src/lucky_flow/webless/driver.cr","line_number":24,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/driver.cr#L24"},"def":{"name":"window_size","return_type":"NamedTuple(width: Int64 | ::Nil, height: Int64 | ::Nil)","visibility":"Public","body":"unsupported"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Element","path":"LuckyFlow/Webless/Element.html","kind":"class","full_name":"LuckyFlow::Webless::Element","name":"Element","abstract":false,"superclass":{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},"ancestors":[{"html_id":"lucky_flow/LuckyFlow/Element","kind":"class","full_name":"LuckyFlow::Element","name":"Element"},{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/element.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"VISIBILITY_XPATH","name":"VISIBILITY_XPATH","value":"\"boolean(./ancestor-or-self::*[(((./@style[(contains(., 'display:none') or contains(., 'display: none'))] or ./@hidden) or ((name(.) = 'script') or (name(.) = 'head'))) or (not(./self::summary) and ./parent::details[not(./@open)]))])\""}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(driver,raw_selector,inner_element:HTML5::Node)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::HTML5::Node"}],"args_string":"(driver, raw_selector, inner_element : HTML5::Node)","args_html":"(driver, raw_selector, inner_element : HTML5::Node)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":6,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L6"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":""},{"name":"raw_selector","external_name":"raw_selector","restriction":""},{"name":"inner_element","external_name":"inner_element","restriction":"::HTML5::Node"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, raw_selector, inner_element)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"append(value:String)-instance-method","name":"append","doc":"Add text to the end of a field\n\n```\nfield = el(\"input[name='comment']\")\nfield.fill(\"Lucky is:\")\n\nfield.append(\" So much fun!\")\n```","summary":"Add text to the end of a field
","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":46,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L46"},"def":{"name":"append","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"__temp_95 = find_or_create_attr(\"value\")\n__temp_95.val = __temp_95.val + value\n"}},{"html_id":"attribute(name:String):String|Nil-instance-method","name":"attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":69,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L69"},"def":{"name":"attribute","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"attr = _attribute(name)\nval = attr.try(&.val)\nif attr.nil? && (name == \"value\")\n val = \"\"\nend\nval\n"}},{"html_id":"check-instance-method","name":"check","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":174,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L174"},"def":{"name":"check","visibility":"Public","body":"if checkbox?\n set_checkbox(!checked?)\nelse\n if radio?\n set_radio\n end\nend"}},{"html_id":"checkbox?:Bool-instance-method","name":"checkbox?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":157,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L157"},"def":{"name":"checkbox?","return_type":"Bool","visibility":"Public","body":"(attribute(\"type\")) == \"checkbox\""}},{"html_id":"checked?:Bool-instance-method","name":"checked?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":65,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L65"},"def":{"name":"checked?","return_type":"Bool","visibility":"Public","body":"(attribute(\"checked\")) == \"checked\""}},{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":91,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L91"},"def":{"name":"clear","visibility":"Public","body":"(_attribute(\"value\")).try(&.val = \"\")"}},{"html_id":"click-instance-method","name":"click","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":29,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L29"},"def":{"name":"click","visibility":"Public","body":"if link?\n method = (attribute(\"data-method\")) || \"get\"\n (driver.as(LuckyFlow::Webless::Driver)).follow(method, (attribute(\"href\")).to_s)\nelse\n if submits? && (f = form)\n (LuckyFlow::Webless::Form.new(f, @inner_element)).submit(driver.as(LuckyFlow::Webless::Driver))\n else\n if checkable?\n check\n end\n end\nend"}},{"html_id":"displayed?:Bool-instance-method","name":"displayed?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":54,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L54"},"def":{"name":"displayed?","return_type":"Bool","visibility":"Public","body":"if (tag_name == \"input\") && ((attribute(\"type\")) == \"hidden\")\n return false\nend\nif tag_name == \"template\"\n return false\nend\n(@driver.find_xpath(VISIBILITY_XPATH)).empty?\n"}},{"html_id":"fill(value:String)-instance-method","name":"fill","doc":"Set the text of a form field\n\n```\nfield = el(\"input[name='comment']\")\n\nfield.fill(\"Lucky is great!\")\n```","summary":"Set the text of a form field
","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":40,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L40"},"def":{"name":"fill","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"if input_field? || textarea?\n set_input(value)\nend"}},{"html_id":"midpoint:NamedTuple(x:Int32,y:Int32)|Nil-instance-method","name":"midpoint","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":115,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L115"},"def":{"name":"midpoint","return_type":"::NamedTuple(x: Int32, y: Int32) | ::Nil","visibility":"Public","body":"unsupported"}},{"html_id":"property(name:String):String|Nil-instance-method","name":"property","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : String | Nil","args_html":"(name : String) : String | Nil","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":83,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L83"},"def":{"name":"property","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"String | ::Nil","visibility":"Public","body":"attribute(name)"}},{"html_id":"radio?:Bool-instance-method","name":"radio?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":161,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L161"},"def":{"name":"radio?","return_type":"Bool","visibility":"Public","body":"(attribute(\"type\")) == \"radio\""}},{"html_id":"remove_attribute(name:String,element:HTML5::Node=@inner_element)-instance-method","name":"remove_attribute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"element","default_value":"@inner_element","external_name":"element","restriction":"HTML5::Node"}],"args_string":"(name : String, element : HTML5::Node = @inner_element)","args_html":"(name : String, element : HTML5::Node = @inner_element)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":79,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L79"},"def":{"name":"remove_attribute","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"element","default_value":"@inner_element","external_name":"element","restriction":"HTML5::Node"}],"visibility":"Public","body":"element.attr.reject! do |at|\n at.key == name\nend"}},{"html_id":"select_option(value:String)-instance-method","name":"select_option","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":95,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L95"},"def":{"name":"select_option","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"(@inner_element.xpath_nodes(\".//option[@selected]\")).each do |node|\n remove_attribute(\"selected\", node)\nend\n(@inner_element.xpath(\".//option[@value='#{value}']\")).try do |el|\n (find_or_create_attr(\"selected\", el)).val = \"selected\"\nend\n"}},{"html_id":"select_options(values:Array(String))-instance-method","name":"select_options","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"args_string":"(values : Array(String))","args_html":"(values : Array(String))","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":103,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L103"},"def":{"name":"select_options","args":[{"name":"values","external_name":"values","restriction":"Array(String)"}],"visibility":"Public","body":"if multiple?\nelse\n raise(LuckyFlow::InvalidMultiSelectError.new)\nend\n(@inner_element.xpath_nodes(\".//option[@selected]\")).each do |node|\n remove_attribute(\"selected\", node)\nend\nvalues.each do |value|\n (@inner_element.xpath(\".//option[@value='#{value}']\")).try do |el|\n (find_or_create_attr(\"selected\", el)).val = \"selected\"\n end\nend\n"}},{"html_id":"selected?:Bool-instance-method","name":"selected?","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":61,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L61"},"def":{"name":"selected?","return_type":"Bool","visibility":"Public","body":"(attribute(\"selected\")) == \"selected\""}},{"html_id":"send_keys(keys:Array(String|Symbol))-instance-method","name":"send_keys","abstract":false,"args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"args_string":"(keys : Array(String | Symbol))","args_html":"(keys : Array(String | Symbol))","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":50,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L50"},"def":{"name":"send_keys","args":[{"name":"keys","external_name":"keys","restriction":"Array(String | Symbol)"}],"visibility":"Public","body":"append(keys.join)"}},{"html_id":"set_checkbox(value:Bool)-instance-method","name":"set_checkbox","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool)","args_html":"(value : Bool)","location":{"filename":"src/lucky_flow/webless/element.cr","line_number":192,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L192"},"def":{"name":"set_checkbox","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"visibility":"Public","body":"if value\n checked = find_or_create_attr(\"checked\")\n checked.val = \"checked\"\nelse\n remove_attribute(\"checked\")\nend"}},{"html_id":"set_radio-instance-method","name":"set_radio","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":182,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L182"},"def":{"name":"set_radio","visibility":"Public","body":"if name = attribute(\"name\")\n (driver.find_xpath(\"//input[(./@name = '#{name}')]\")).each do |node|\n remove_attribute(\"checked\", (node.as(LuckyFlow::Webless::Element)).inner_element)\n end\nend\nchecked = find_or_create_attr(\"checked\")\nchecked.val = \"checked\"\n"}},{"html_id":"tag_name:String-instance-method","name":"tag_name","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":87,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L87"},"def":{"name":"tag_name","return_type":"String","visibility":"Public","body":"@inner_element.data"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L10"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@inner_element.inner_text"}},{"html_id":"value-instance-method","name":"value","abstract":false,"location":{"filename":"src/lucky_flow/webless/element.cr","line_number":14,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/element.cr#L14"},"def":{"name":"value","visibility":"Public","body":"if tag_name == \"select\"\n selected_options = @inner_element.xpath_nodes(\".//option[@selected]\")\n if multiple?\n selected_options.map do |option|\n option[\"value\"]? || option.inner_text\n end\n else\n option = selected_options.first? || (@inner_element.xpath(\".//option\"))\n if option.nil?\n raise(\"expected select to contain an option\")\n end\n option[\"value\"]?.try(&.val) || option.inner_text\n end\nelse\n attribute(\"value\")\nend"}}]},{"html_id":"lucky_flow/LuckyFlow/Webless/Form","path":"LuckyFlow/Webless/Form.html","kind":"class","full_name":"LuckyFlow::Webless::Form","name":"Form","abstract":false,"superclass":{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"lucky_flow/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"lucky_flow/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lucky_flow/webless/form.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/form.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ALL_FORM_FIELDS","name":"ALL_FORM_FIELDS","value":"\".//*[self::input | self::select | self::textarea | self::button][not(./@form)][not(./@disabled)]\""},{"id":"ALL_FORM_FIELDS_WITH_FORM_ID","name":"ALL_FORM_FIELDS_WITH_FORM_ID","value":"\".//*[self::input | self::select | self::textarea | self::button][not(./@form)][not(./@disabled)] | //*[self::input | self::select | self::textarea | self::button][(./@form = '%s')][not(./@disabled)]\""}],"namespace":{"html_id":"lucky_flow/LuckyFlow/Webless","kind":"module","full_name":"LuckyFlow::Webless","name":"Webless"},"constructors":[{"html_id":"new(form_node:HTML5::Node,submit_node:HTML5::Node)-class-method","name":"new","abstract":false,"args":[{"name":"form_node","external_name":"form_node","restriction":"::HTML5::Node"},{"name":"submit_node","external_name":"submit_node","restriction":"::HTML5::Node"}],"args_string":"(form_node : HTML5::Node, submit_node : HTML5::Node)","args_html":"(form_node : HTML5::Node, submit_node : HTML5::Node)","location":{"filename":"src/lucky_flow/webless/form.cr","line_number":7,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/form.cr#L7"},"def":{"name":"new","args":[{"name":"form_node","external_name":"form_node","restriction":"::HTML5::Node"},{"name":"submit_node","external_name":"submit_node","restriction":"::HTML5::Node"}],"visibility":"Public","body":"_ = allocate\n_.initialize(form_node, submit_node)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"submit(driver:LuckyFlow::Webless::Driver)-instance-method","name":"submit","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Webless::Driver"}],"args_string":"(driver : LuckyFlow::Webless::Driver)","args_html":"(driver : LuckyFlow::Webless::Driver)","location":{"filename":"src/lucky_flow/webless/form.cr","line_number":10,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/lucky_flow/webless/form.cr#L10"},"def":{"name":"submit","args":[{"name":"driver","external_name":"driver","restriction":"LuckyFlow::Webless::Driver"}],"visibility":"Public","body":"form_field_xpath = if (id_attr = @form_node[\"id\"]?) && (!id_attr.val.blank?)\n ALL_FORM_FIELDS_WITH_FORM_ID % id_attr.val\nelse\n ALL_FORM_FIELDS\nend\nform_field_nodes = @form_node.xpath_nodes(form_field_xpath)\nform_field_nodes.reject! do |node|\n (submitter?(node)) && (node != submit_node)\nend\nform_values = form_field_nodes.compact_map do |form_field_node|\n case form_field_node.data\n when \"input\"\n parse_input_field(form_field_node)\n when \"textarea\"\n parse_textarea_field(form_field_node)\n when \"select\"\n parse_select_field(form_field_node)\n end\nend.to_h\nrequest_method = @form_node[\"method\"]?.try(&.val) == \"post\" ? :post : :get\nrequest_path = @submit_node[\"formaction\"]?.try() do |__arg1|\n __arg1.val.presence\nend || @form_node[\"action\"].val\nrequest = (((::Webless::RequestBuilder.new.method(request_method)).path(request_path)).form(form_values, multipart?)).build\ndriver.submit(request)\n"}}]}]}]},{"html_id":"lucky_flow/Spec","path":"Spec.html","kind":"module","full_name":"Spec","name":"Spec","abstract":false,"locations":[{"filename":"src/ext/spec/item.cr","line_number":1,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/spec/item.cr#L1"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"lucky_flow/Spec/Item","path":"Spec/Item.html","kind":"module","full_name":"Spec::Item","name":"Item","abstract":false,"locations":[{"filename":"src/ext/spec/item.cr","line_number":2,"url":"https://github.com/luckyframework/lucky_flow/blob/a05bc7a93cf9f54bfa2792434663902019c4f343/src/ext/spec/item.cr#L2"}],"repository_name":"lucky_flow","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"lucky_flow/Spec","kind":"module","full_name":"Spec","name":"Spec"}}]}]}}) \ No newline at end of file