How to prevent Google Colab from disconnecting? How to prevent Google Colab from disconnecting? python python

How to prevent Google Colab from disconnecting?


Edit 2:As of March 2021, none of these methods will work as google added a captcha button that randomly pops up after some time.

Edit 1:Apparently the solution is very easy, and doesn't need any JavaScript.Just create a new cell at the bottom having the following line:

while True:pass

now keep the cell in the run sequence so that the infinite loop won't stop and thus keep your session alive.

Old method:Set a javascript interval to click on the connect button every 60 seconds.Open developer-settings (in your web-browser) with Ctrl+Shift+I then click on console tab and type this on the console prompt. (for mac press Option+Command+I)

function ConnectButton(){  console.log("Connect pushed");   document.querySelector("#top-toolbar > colab-connectbutton").shadowRoot.querySelector("#connect").click() }setInterval(ConnectButton,60000);


Since the id of the connect button is now changed to "colab-connect-button", the following code can be used to keep clicking on the button.

function ClickConnect(){    console.log("Clicked on connect button");     document.querySelector("colab-connect-button").click()}setInterval(ClickConnect,60000)

If still, this doesn't work, then follow the steps below:

  1. Right-click on the connect button (on the top-right side of the colab)
  2. Click on inspect
  3. Get the HTML id of the button and substitute in the following code
function ClickConnect(){    console.log("Clicked on connect button");     document.querySelector("Put ID here").click() // Change id here}setInterval(ClickConnect,60000)


For me the following examples:

  • document.querySelector("#connect").click() or
  • document.querySelector("colab-toolbar-button#connect").click() or
  • document.querySelector("colab-connect-button").click()

were throwing errors.

I had to adapt them to the following:

Version 1:

function ClickConnect(){  console.log("Connnect Clicked - Start");   document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click();  console.log("Connnect Clicked - End"); };setInterval(ClickConnect, 60000)

Version 2:If you would like to be able to stop the function, here is the new code:

var startClickConnect = function startClickConnect(){    var clickConnect = function clickConnect(){        console.log("Connnect Clicked - Start");        document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click();        console.log("Connnect Clicked - End");     };    var intervalId = setInterval(clickConnect, 60000);    var stopClickConnectHandler = function stopClickConnect() {        console.log("Connnect Clicked Stopped - Start");        clearInterval(intervalId);        console.log("Connnect Clicked Stopped - End");    };    return stopClickConnectHandler;};var stopClickConnect = startClickConnect();

In order to stop, call:

stopClickConnect();


matomo