Skip to content

Instantly share code, notes, and snippets.

@blois
Created April 25, 2018 20:26
Show Gist options
  • Save blois/09d8d017263a477048fa8895dcbca948 to your computer and use it in GitHub Desktop.
Save blois/09d8d017263a477048fa8895dcbca948 to your computer and use it in GitHub Desktop.
const puppeteer = require('puppeteer');
async function waitForElement(page, selector) {
while (true) {
const element = await page.$(selector);
if (element) {
return element;
}
await new Promise((resolve) => setTimeout(resolve, 100));
}
}
(async() => {
const args = [
'--enable-browser-navigation',
'--allow-insecure-localhost',
];
const useNewPage = true;
const notebook = 'https://colab.research.google.com/drive/1N5Z0vKvOHJHsd_t91DQ_08Kv061gSpww';
if (!useNewPage) {
args.push(notebook);
}
const browser = await puppeteer.launch({
executablePath: '/usr/bin/google-chrome',
// devtools: true,
headless: false,
args,
});
while (true) {
let page;
if (useNewPage) {
page = await browser.newPage();
await page.bringToFront();
await page.goto(notebook);
} else {
page = (await browser.pages())[0];
}
await waitForElement(page, '.notebook-container');
// await page.evaluate('window.allLoaded');
const title = await page.title();
if (title != 'Harmonisk svängning.ipynb - Colaboratory') {
throw new Error(`Unexpected title: ${title}`);
}
page.close();
}
})();
{
"version": "0.0.1",
"name": "title_rate_limit",
"main": "./driver.js",
"dependencies": {
"puppeteer": "^1.1.0",
},
"scripts": {
"start": "node driver"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment