UNPKG

puppeteer-google-translate

Version:

Translate texts or documents with Google Translate using Puppeteer

34 lines (33 loc) 1.24 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const launch_1 = __importDefault(require("../launch")); exports.default = async (query, opt) => { const { browser, page, timeout } = await launch_1.default(opt); try { await page.goto('https://translate.google.com/' + query); const el1 = await page.waitForSelector('span>span[data-phrase-index="0"]>span[jsaction]', { timeout }); const texts = [await el1.evaluate((e) => e.textContent)]; const len = (await page.$$('span>span[data-phrase-index]>span[jsaction]')) .length; if (len === 1) return texts[0]; for (let i = 1; i < len; i++) { const el = await page.waitForSelector(`span>span[data-phrase-index="${i}"]>span[jsaction]`, { timeout }); texts.push(await el.evaluate((e) => e.textContent)); } return texts.join(' '); } catch (err) { throw err; } finally { await browser.close(); } };