diff --git a/handlers/image.js b/handlers/image.js index 14d914e..90c903c 100644 --- a/handlers/image.js +++ b/handlers/image.js @@ -1,4 +1,5 @@ -const port = parseInt(process.env.PORT, 10) || 3000 +const PORT = parseInt(process.env.PORT, 10) || 3000 +const ARBITRARY_WAIT_TIME = 500 module.exports = browser => async (req, res) => { let page = await browser.newPage() @@ -7,9 +8,12 @@ module.exports = browser => async (req, res) => { if (!state) res.status(400).send() try { - await page.goto(`http://localhost:${port}?state=${state}`) + await page.goto(`http://localhost:${PORT}?state=${state}`) await page.addScriptTag({ path: `./lib/customDomToImage.js` }) + // wait for page to detect language + await delay(ARBITRARY_WAIT_TIME) + const targetElement = await page.$('#export-container') let dataUrl = await page.evaluate(target => { @@ -34,3 +38,8 @@ module.exports = browser => async (req, res) => { await page.close() } } + +// private +function delay(ms) { + return new Promise(r => setTimeout(r, ms)) +}