{"record":{"id":"51a488b9f67f4020","repo":"jackwener/OpenCLI","slug":"no-papers-found-for-data-name-author","errorCode":null,"errorMessage":"No papers found for: ${data.name || author}","messagePattern":"No papers found for: (.+?)","errorType":"exception","errorClass":"CommandExecutionError","httpStatus":null,"severity":"error","filePath":"clis/google-scholar/profile.js","lineNumber":80,"sourceCode":"                });\n            }\n\n            return {\n                name: name.trim(),\n                affiliation: affiliation.trim(),\n                citations: citations,\n                hIndex: hIndex,\n                i10Index: i10Index,\n                papers: papers,\n            };\n        })()`);\n\n        if (!data?.name) {\n            throw new CommandExecutionError(`Could not load Google Scholar profile for: ${author}`);\n        }\n\n        if (!data.papers || data.papers.length === 0) {\n            throw new CommandExecutionError(`No papers found for: ${data.name || author}`);\n        }\n\n        const summary = {\n            rank: 0,\n            title: data.name + (data.affiliation ? ' (' + data.affiliation + ')' : ''),\n            cited: 'h=' + data.hIndex + ' i10=' + data.i10Index + ' total=' + data.citations,\n            year: '-',\n        };\n\n        return [summary, ...data.papers];\n    },\n});\n","sourceCodeStart":62,"sourceCodeEnd":93,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/google-scholar/profile.js#L62-L93","documentation":"The profile page loaded and the author name was scraped successfully (`data.name` present), but the publications table (`#gsc_a_b .gsc_a_tr` rows) yielded zero papers. The command requires at least one paper row to produce output, so it throws for authors with empty publication lists or unrendered tables.","triggerScenarios":"Calling `google-scholar profile <author>` for an author whose Scholar profile has no publications, whose papers table is hidden behind 'Show more' lazy loading, or whose table rows failed to render in time before the 3-second `page.wait(3)` elapsed.","commonSituations":"New/early-career authors with zero listed papers; profiles where all papers were removed; slow page loads on poor network so the papers table hasn't painted; Scholar DOM changes renaming `.gsc_a_tr`.","solutions":["Increase page load time / retry — if the table just hadn't rendered, a re-run usually finds rows.","Verify in a browser whether the author truly has zero publications listed on their Scholar profile.","If the profile is legitimately empty, the error is expected; pick a different author or accept the empty result.","Report the issue if a known non-empty profile consistently fails (possible DOM selector change)."],"exampleFix":"// before\nopencli run google-scholar profile \"JicYPdAAAAAJ\" --limit 10  // zero rows scraped\n// after\nopencli run google-scholar profile \"JicYPdAAAAAJ\" --limit 10  # retry once after a delay","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n  const rows = await run('google-scholar profile', author);\n} catch (e) {\n  if (e instanceof CommandExecutionError && /No papers found/.test(e.message)) {\n    return { author, papers: [] }; // treat as legitimately empty\n  }\n  throw e;\n}","preventionTips":["Check the author's profile in a browser for zero-publication profiles before scripting.","Retry once for slow-render false positives.","Report persistent failures on known non-empty profiles as possible selector changes."],"tags":["scraping","browser","google-scholar","empty-result"],"backgroundTag":"scraper-empty-result-set","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}