{"record":{"id":"391813a43c7a3b27","repo":"Jackett/Jackett","slug":"login-failed-no-input-found-using-selector-input","errorCode":null,"errorMessage":"Login failed: No input found using selector {Input.Key}","messagePattern":"Login failed: No input found using selector (.+?)","errorType":"exception","errorClass":"ExceptionWithConfigData","httpStatus":null,"severity":"error","filePath":"src/Jackett.Common/Indexers/Definitions/CardigannIndexer.cs","lineNumber":666,"sourceCode":"                    var value = input.GetAttribute(\"value\") ?? \"\";\n\n                    pairs[name] = value;\n                }\n\n                if (Login.Inputs != null && Login.Inputs.Any())\n                {\n                    foreach (var Input in Login.Inputs)\n                    {\n                        var value = applyGoTemplateText(Input.Value);\n                        var input = Input.Key;\n\n                        if (Login.Selectors)\n                        {\n                            var inputElement = landingResultDocument.QuerySelector(Input.Key);\n\n                            if (inputElement == null)\n                            {\n                                throw new ExceptionWithConfigData($\"Login failed: No input found using selector {Input.Key}\", configData);\n                            }\n\n                            input = inputElement.GetAttribute(\"name\");\n                        }\n\n                        pairs[input] = value;\n                    }\n                }\n\n                // selector inputs\n                if (Login.Selectorinputs != null && Login.Selectorinputs.Any())\n                {\n                    foreach (var selectorInput in Login.Selectorinputs)\n                    {\n                        try\n                        {\n                            var value = handleSelector(selectorInput.Value, landingResultDocument.FirstElementChild, required: !selectorInput.Value.Optional);\n","sourceCodeStart":648,"sourceCodeEnd":684,"githubUrl":"https://github.com/Jackett/Jackett/blob/adff1941476d8057a430cf55360356c1d23e971e/src/Jackett.Common/Indexers/Definitions/CardigannIndexer.cs#L648-L684","documentation":"Thrown in DoLogin (form method) when Login.Selectors is true and QuerySelector(Input.Key) returns null for a declared login input. Each input key is interpreted as a CSS selector resolved against the landing page; a missing element means that field cannot be populated.","triggerScenarios":"A definition with login.selectors: true references a CSS selector for a username/password field that no longer exists on the page after a site redesign.","commonSituations":"Site redesigned the login form changing input ids/classes; wrong selector in a custom definition; the landing page is a challenge page rather than the real login form.","solutions":["Update the input selector in the definition to match the current login form markup.","Inspect the live login page HTML to find the correct input id/name.","Set up FlareSolverr if a challenge page is the cause."],"exampleFix":"# before (definition)\nlogin:\n  selectors: true\n  inputs:\n    username: \"#user\"\n# after\nlogin:\n  selectors: true\n  inputs:\n    username: \"input[name='username']\"","handlingStrategy":"validation","validationCode":"// Verify each login input selector resolves before submitting\nif (Login.Selectors)\n    foreach (var input in Login.Inputs)\n        if (landingResultDocument.QuerySelector(input.Key) == null)\n            throw new InvalidOperationException($\"Login input selector '{input.Key}' not found\");","typeGuard":null,"tryCatchPattern":"try { await DoLogin(); }\ncatch (ExceptionWithConfigData e) when (e.Message.Contains(\"No input found using selector\"))\n{\n    // update the selector to current site markup\n}","preventionTips":["Inspect the live login page to keep input selectors current.","Prefer stable selectors (name/id) over fragile class names."],"tags":["cardigann","login","selector","html"],"backgroundTag":null,"analyzedSha":"adff1941476d8057a430cf55360356c1d23e971e","analyzedAt":"2026-08-13T15:06:32.872Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}