如何在Google Colab中运行代码直至选中的单元格(包含该单元格)
Google Colab 实现从当前位置运行至选中单元格(包含选中单元格)的方案
修改版JS实现方案
你提到的原有方案未包含选中单元格,核心原因是其循环终止条件设置为小于目标单元格索引,只需调整终止条件即可实现需求。
操作步骤:
- 打开Google Colab页面后,按
F12(Windows/Linux)或Cmd+Opt+J(Mac)调出浏览器控制台 - 输入以下代码运行即可
async function runToSelectedInclude() { const allCodeCells = Array.from(document.querySelectorAll("div.cell.code_cell")); const selectedCell = document.querySelector("div.cell.code_cell.selected"); if (!selectedCell) { alert("请先选中作为终止点的代码单元格"); return; } // 定位目标选中单元格的索引 const targetIdx = allCodeCells.indexOf(selectedCell); // 定位当前起始运行位置(默认取当前聚焦的单元格,无聚焦则取第一个代码单元格) const startCell = document.querySelector("div.cell.code_cell.focused") || allCodeCells[0]; const startIdx = allCodeCells.indexOf(startCell); // 循环运行从起始到目标(包含)的所有单元格 for (let i = startIdx; i <= targetIdx; i++) { allCodeCells[i].querySelector(".play-button").click(); // 单元格间隔运行等待,可根据自身代码运行时长调整毫秒数 await new Promise(res => setTimeout(res, 200)); } } runToSelectedInclude();
如果需要长期使用,可以将上述代码保存为Tampermonkey用户脚本,绑定自定义快捷键触发即可。
原生操作替代方案
无需编写代码,使用Colab内置的批量选中运行功能即可实现同等效果:
- 点击起始位置的单元格
- 按住
Shift键点击你要作为终止点的单元格,即可选中区间内所有单元格 - 按
Ctrl+Enter(Windows/Linux)或Cmd+Enter(Mac)运行所有选中单元格
内容的提问来源于stack exchange,提问作者Emanuele Martini
相关产品推荐
相关产品推荐

