Conectarse a Headless con el Function Stack de NodeJS
En esta sección encontrará los scripts necesarios para conectarse a headless usando el function stack de NodeJS con la biblioteca de automatización de navegador de su preferencia:
Puppeteer
Usando Puppeteer Sin SmartBrowz
copy
import puppeteer from 'puppeteer';
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('http://example.com/');
await page.screenshot({‘path’:’example.png’})
await browser.close();
})();
Usando Puppeteer Con SmartBrowz
copy
// Desde dentro de tu aplicación Node
const puppeteer = require("puppeteer-core");
// Reemplazar puppeteer.launch con puppeteer.connect
const browser = await puppeteer.connect({
browserWSEndpoint: ‘YOUR_CDP_ENDPOINT’
});
// El resto de tu script permanece igual
const page = await browser.newPage();
await page.goto(‘https://example.com/');
await page.screenshot({ path: ‘screenshot.png’ });
page.close();
Nota: Copie el CDP Endpoint de la consola y péguelo en la línea "6" cuando implemente este código.
Playwright
Usando Playwright Sin SmartBrowz
copy
import { test } from '@playwright/test';
test('Page Screenshot', async ({ page }) => {
await page.goto('http://example.com/‘);
await page.screenshot({ path: `example.png` });
});
Usando Playwright Con SmartBrowz
copy
// Desde dentro de tu aplicación Node
const pw = require('playwright-core');
// Reemplazar pw.chromium.launch con connectOverCDP
const browser = await pw.chromium.connectOverCDP({
wsEndpoint: 'YOUR_CDP_ENDPOINT'
});
// El resto de tu script permanece igual
const page = await browser.newPage();
await page.goto('https://www.example.com/');
await page.screenshot({ path: 'example.png' });
await browser.close();
Nota: Copie el CDP Endpoint de la consola y péguelo en la línea "5" cuando implemente este código.
Selenium
Usando Selenium Sin SmartBrowz
copy
require("chromedriver");
require("selenium-webdriver")
let webdriver = require("selenium-webdriver");
var By = require("selenium-webdriver").By;
let browser = new webdriver.Builder();
let driver = browser.forBrowser("chrome").build();
driver.get('https://example.com/');
driver.takeScreenshot().then(
function(image) {
require('fs').writeFileSync('captured_image_3.png', image, 'base64');
}
);
driver.quit();
Usando Selenium Con SmartBrowz
copy
// Desde dentro de tu aplicación Node
const webdriver = require('selenium-webdriver'),
chrome = require('selenium-webdriver/chrome');
const chromeCapabilities = webdriver.Capabilities.chrome();
var options = new chrome.Options();
options.addArguments("--no-sandbox");
options.addArguments('--headless')
options.addArguments('--disable-dev-shm-usage')
const driver = new webdriver.Builder()
.forBrowser('chrome')
.setChromeOptions(options)
.withCapabilities(chromeCapabilities)
.usingServer('YOUR_WEBDRIVER_ENDPOINT')
.build();
// El resto de tu script permanece igual
await driver.get('https://www.example.com/');
const base64png = await driver.takeScreenshot();
fs.writeFileSync('/tmp/screenshot.png',new Buffer(base64png, 'base64'));
driver.quit();
Nota: Copie el Webdriver Endpoint de la consola y péguelo en la línea "13" cuando implemente este código.
Última actualización 2026-03-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us
Skip
Submit