我不相信 JavaScript 的解决方案现在还有效。我曾经尝试过从我的笔记本中运行以下代码:
from IPython.display import display, HTML
js = ('<script>function ConnectButton(){ '
'console.log("Connect pushed"); '
'document.querySelector("#connect").click()} '
'setInterval(ConnectButton,3000);</script>')
display(HTML(js))
当您第一次运行全部代码(JavaScript 或 Python 代码尚未启动)时,控制台会显示:
Connected to
wss://colab.research.google.com/api/kernels/0e1ce105-0127-4758-90e48cf801ce01a3/channels?session_id=5d8...
然而,每次JavaScript运行时,您会看到console.log部分的输出,但是单击部分只显示:
Connect pushed
Uncaught TypeError: Cannot read property 'click' of null
at ConnectButton (<anonymous>:1:92)
有人建议将按钮名称更改为#colab-connect-button,但仍会出现相同的错误。
在运行时启动后,按钮会更改为显示RAM / DISK,并呈现一个下拉菜单。 点击下拉菜单会创建一个新的<DIV class=goog menu...>
,此前未在DOM中显示过,其中包含两个选项“连接到托管运行时”和“连接到本地运行时”。 如果控制台窗口打开并显示元素,则可以在单击下拉元素时看到此DIV出现。 在新窗口中的两个选项之间移动鼠标焦点会向DOM添加其他元素,一旦鼠标失去焦点,这些元素即被完全从DOM中删除,而无需单击。