如何编写jQuery脚本实现领英LinkedIn批量取消已保存职位?
领英已保存职位批量取消保存实现方案
你之前的代码只能在手动展开所有「...」操作菜单后生效,也无法自动处理懒加载的下一页职位,所以需要反复执行。以下是可自动完成全量取消操作的完整代码,适配领英当前的前端结构:
async function batchUnsaveLinkedInJobs() { // 单步操作间隔,单位:毫秒,不建议低于500避免触发反爬限制 const OPERATION_DELAY = 1000; // 批量展开当前页所有职位的「...」操作菜单 const moreActionBtns = document.querySelectorAll(".entity-result__actions-overflow-menu-dropdown-trigger"); for (const btn of moreActionBtns) { btn.click(); // 等待下拉菜单渲染完成 await new Promise(res => setTimeout(res, 200)); // 匹配当前菜单中的Unsave按钮并点击 const unsaveBtn = document.querySelector(".artdeco-dropdown__item [type='ribbon-icon']")?.closest("button"); if (unsaveBtn) { unsaveBtn.click(); await new Promise(res => setTimeout(res, OPERATION_DELAY)); } // 点击空白处关闭当前菜单,避免元素遮挡 document.body.click(); await new Promise(res => setTimeout(res, 100)); } // 自动滚动加载下一页职位 window.scrollTo(0, document.body.scrollHeight); await new Promise(res => setTimeout(res, 2000)); // 检测是否还有未处理的职位,有则递归执行 const remainingBtns = document.querySelectorAll(".entity-result__actions-overflow-menu-dropdown-trigger"); if (remainingBtns.length > 0) { batchUnsaveLinkedInJobs(); } else { console.log("✅ 所有已保存职位已全部取消保存"); } } // 启动批量操作 batchUnsaveLinkedInJobs();
使用说明
- 首先打开领英「我的项目-已保存的职位」页面,按F12打开开发者工具,切换到「控制台」标签,粘贴上述代码回车运行即可
- 运行过程中不要关闭页面,如需终止操作直接刷新页面即可
- 如果领英后续更新前端类名导致代码失效,可自行审查元素替换对应选择器即可
内容的提问来源于stack exchange,提问作者Razvan
相关产品推荐
相关产品推荐

