← ClaudeAtlas

cnki-downloadlisted

Download a paper PDF/CAJ from CNKI. Requires user to be logged in. Use when user wants to download a specific paper.
Jensen-Yao/agents-skills · ★ 0 · AI & Automation · score 68
Install: claude install-skill Jensen-Yao/agents-skills
# CNKI Paper Download (文献下载) ## Prerequisites User **must be logged in** to CNKI with download permissions. ## Arguments `the user request` is optionally a paper detail URL. If blank, uses current page. ## Steps ### 1. Navigate (if URL provided) If URL provided: use `navigate_page` to go to the URL directly (no wait_for needed — Step 2 handles waiting). **Important**: Always use `navigate_page` instead of clicking links on the search results page. Clicking opens a new tab and wastes 3 extra tool calls (`list_pages` + `select_page` + `take_snapshot`). ### 2. Check status and download (single async evaluate_script) Replace `FORMAT` with `"pdf"` or `"caj"`: ```javascript async () => { // Wait for page load await new Promise((r, j) => { let n = 0; const c = () => { if (document.querySelector('.brief h1')) r(); else if (++n > 30) j('timeout'); else setTimeout(c, 500); }; c(); }); // Captcha check const cap = document.querySelector('#tcaptcha_transform_dy'); if (cap && cap.getBoundingClientRect().top >= 0) { return { error: 'captcha', message: 'CNKI 正在显示滑块验证码。请在 Chrome 中手动完成拼图验证。' }; } const format = "FORMAT"; // "pdf" or "caj" // Check download links const pdfLink = document.querySelector('#pdfDown') || document.querySelector('.btn-dlpdf a'); const cajLink = document.querySelector('#cajDown') || document.querySelector('.btn-dlcaj a'); // Check login status const notLogged = document.querySelector('.down