Add Activepieces integration for workflow automation

- Add Activepieces fork with SmoothSchedule custom piece
- Create integrations app with Activepieces service layer
- Add embed token endpoint for iframe integration
- Create Automations page with embedded workflow builder
- Add sidebar visibility fix for embed mode
- Add list inactive customers endpoint to Public API
- Include SmoothSchedule triggers: event created/updated/cancelled
- Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
poduck
2025-12-18 22:59:37 -05:00
parent 9848268d34
commit 3aa7199503
16292 changed files with 1284892 additions and 4708 deletions

View File

@@ -0,0 +1,18 @@
{
"extends": ["../../../../.eslintrc.json"],
"ignorePatterns": ["!**/*"],
"overrides": [
{
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
"rules": {}
},
{
"files": ["*.ts", "*.tsx"],
"rules": {}
},
{
"files": ["*.js", "*.jsx"],
"rules": {}
}
]
}

View File

@@ -0,0 +1,32 @@
# Browserless
Browserless is a cloud-based browser automation platform that allows you to run full Chrome sessions remotely for tasks like taking screenshots, scraping data, converting pages to PDFs, and more without writing scraping code or managing servers.
## Actions
- **Capture Screenshot**: Take a screenshot of a web page
- **Generate PDF**: Convert a web page to PDF format
- **Scrape URL**: Extract content from a web page using CSS selectors
- **Run BQL Query**: Execute Browser Query Language (BQL) code
- **Get Website Performance**: Analyze website performance metrics using Lighthouse
## Authentication
To use this piece, you'll need:
1. A Browserless account (sign up for free at https://www.browserless.io/)
2. Your API token from the dashboard
3. Your API endpoint URL (typically https://your-api-key.browserless.io)
## Getting Started
1. Sign up for a free account at https://www.browserless.io/
2. Get your API token from your dashboard
3. Use your API endpoint URL in the format: `https://your-api-key.browserless.io`
4. Configure the authentication in Activepieces with your token and base URL
## Documentation
For more information about Browserless API capabilities, visit:
- [Browserless Documentation](https://docs.browserless.io/)
- [REST API Reference](https://docs.browserless.io/rest-apis/intro)

View File

@@ -0,0 +1,10 @@
{
"name": "@activepieces/piece-browserless",
"version": "0.0.3",
"type": "commonjs",
"main": "./src/index.js",
"types": "./src/index.d.ts",
"dependencies": {
"tslib": "^2.3.0"
}
}

View File

@@ -0,0 +1,60 @@
{
"name": "pieces-browserless",
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "packages/pieces/community/browserless/src",
"projectType": "library",
"release": {
"version": {
"manifestRootsToUpdate": [
"dist/{projectRoot}"
],
"currentVersionResolver": "git-tag",
"fallbackCurrentVersionResolver": "disk"
}
},
"tags": [],
"targets": {
"build": {
"executor": "@nx/js:tsc",
"outputs": [
"{options.outputPath}"
],
"options": {
"outputPath": "dist/packages/pieces/community/browserless",
"tsConfig": "packages/pieces/community/browserless/tsconfig.lib.json",
"packageJson": "packages/pieces/community/browserless/package.json",
"main": "packages/pieces/community/browserless/src/index.ts",
"assets": [
"packages/pieces/community/browserless/*.md"
],
"buildableProjectDepsInPackageJsonType": "dependencies",
"updateBuildableProjectDepsInPackageJson": true
},
"dependsOn": [
"^build",
"prebuild"
]
},
"nx-release-publish": {
"options": {
"packageRoot": "dist/{projectRoot}"
}
},
"lint": {
"executor": "@nx/eslint:lint",
"outputs": [
"{options.outputFile}"
]
},
"prebuild": {
"executor": "nx:run-commands",
"options": {
"cwd": "packages/pieces/community/browserless",
"command": "bun install --no-save --silent"
},
"dependsOn": [
"^build"
]
}
}
}

View File

@@ -0,0 +1,209 @@
{
"Browserless is a headless browser automation tool that allows you to scrape websites, take screenshots, and more.": "Browserless ist ein kopfloses Browser-Automatisierungstool mit dem Sie Websites kratzen, Screenshots machen und vieles mehr.",
"API Token": "API Token",
"Region": "Region",
"Custom Base URL": "Eigene Basis-URL",
"Your Browserless API token (found in your dashboard)": "Ihr Browserless-API-Token (gefunden in Ihrem Dashboard)",
"Choose the regional endpoint closest to you for optimal performance": "Wählen Sie den Ihnen am nächsten liegenden regionalen Endpunkt für optimale Leistung",
"Enter your custom Browserless endpoint URL": "Geben Sie Ihre benutzerdefinierte Browserless-Endpunkt-URL ein",
"US West (San Francisco)": "US West (San Francisco)",
"Europe UK (London)": "Europa UK (London)",
"Europe (Amsterdam)": "Europa (Amsterdam)",
"Custom Endpoint": "Eigener Endpunkt",
"\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated ": "\n Um Ihre API-Zugangsdaten zu erhalten:\n\n 1. Melden Sie sich für einen kostenlosen Browserless-Account unter https://www an. rowserless.io\n 2. Navigieren Sie zu Ihrem Dashboard\n 3. Finden Sie Ihren API-Schlüssel/Token in den Kontoeinstellungen\n . Wählen Sie Ihren bevorzugten regionalen Endpunkt für optimale Performance\n\n Regionale Endpunkte:\n • US West (SFO): https://production-sfo. rowserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams. rowserless.io\n\n Für kunden/dedizierte Instanzen wählen Sie \"Custom\" und geben Sie Ihre spezifische Endpunkt-URL ein.\n ",
"Capture Screenshot": "Screenshot aufnehmen",
"Generate PDF": "PDF generieren",
"Scrape URL": "Scrape URL",
"Run BQL Query": "BQL-Abfrage ausführen",
"Get Website Performance": "Website-Performance abrufen",
"Take a screenshot of a web page": "Bildschirmfoto einer Webseite machen",
"Convert a web page to PDF": "Eine Webseite in PDF umwandeln",
"Extract content from a web page": "Inhalte von einer Webseite extrahieren",
"Execute Browser Query Language (BQL) GraphQL-based queries for advanced browser automation": "Führen Sie Browser-Abfragesprache (BQL) GraphQL-basierte Abfragen für erweiterte Browser-Automatisierung aus",
"Analyze website performance metrics using Lighthouse": "Website-Performance-Metriken mit Lighthouse analysieren",
"URL": "URL",
"Image Type": "Bildtyp",
"Quality": "Qualität",
"Full Page": "Vollseite",
"Viewport Width": "Viewport-Breite",
"Viewport Height": "Viewport Höhe",
"Wait for Selector": "Warte auf Auswahl",
"Delay (ms)": "Verzögerung (ms)",
"Omit Background": "Hintergrund auslassen",
"Clip X Position": "Clip X-Position",
"Clip Y Position": "Clip Y Position",
"Clip Width": "Clip Width",
"Clip Height": "Clip-Höhe",
"HTML Content": "HTML-Inhalt",
"Paper Format": "Papierformat",
"Landscape": "Querformat",
"Print Background": "Hintergrund drucken",
"Top Margin": "Oberer Rand",
"Right Margin": "Rechter Rand",
"Bottom Margin": "Unterer Rand",
"Left Margin": "Linker Rand",
"Header Template": "Kopfzeile Vorlage",
"Footer Template": "Fußzeile-Vorlage",
"Display Header/Footer": "Header/Fußzeile anzeigen",
"Scale": "Maßstab",
"Wait for Selector Timeout": "Warte auf Selektor-Timeout",
"Wait for Selector Visible": "Auf Auswahl sichtbar warten",
"Wait for Selector Hidden": "Warte auf Selektor Versteckt",
"Prefer CSS Page Size": "Prefer CSS Page Size",
"Page Ranges": "Seitenbereiche",
"Custom Width": "Eigene Breite",
"Custom Height": "Eigene Höhe",
"Tagged PDF": "Markierte PDF",
"Generate Outline": "Kontur generieren",
"Timeout (ms)": "Timeout (ms)",
"Wait for Function": "Warten auf Funktion",
"Wait for Function Polling": "Warte auf Funktionsabfragung",
"Wait for Function Timeout": "Warte auf Funktions-Timeout",
"User Agent": "User-Agent",
"Wait Timeout (ms)": "Wartezeit (ms)",
"Best Attempt": "Bester Versuch",
"Elements to Extract": "Zu extrahierende Elemente",
"Wait for Event": "Warte auf Event",
"Wait for Event Timeout": "Warte auf Event Timeout",
"Debug Console": "Debug Console",
"Debug Cookies": "Debug-Cookies",
"Debug Network": "Netzwerk debuggen",
"Cookies": "Kekse",
"Wait Until": "Warten bis",
"BQL Query": "BQL-Abfrage",
"Query Variables": "Abfrage-Variablen",
"Operation Name": "Operationsname",
"Stealth Mode": "Tarnung Modus",
"Headless Mode": "Kopfloser Modus",
"Human-like Behavior": "Menschliches Verhalten",
"Proxy Type": "Proxy-Typ",
"Proxy Country": "Proxy-Land",
"Sticky Proxy": "Fixierter Proxy",
"Block Ads": "Werbung blockieren",
"Block Consent Modals": "Einwilligungsmodelle blockieren",
"Record Session": "Sitzung aufzeichnen",
"Slow Motion (ms)": "Langsame Bewegung (ms)",
"Ignore HTTPS Errors": "HTTPS-Fehler ignorieren",
"Performance Categories": "Leistungskategorien",
"Device Type": "Gerätetyp",
"Network Throttling": "Netzwerk-Drosseln",
"Only Category Scores": "Nur Kategorie-Punkte",
"Locale": "Lokal",
"Emulate Media Type": "Medientyp emulieren",
"Performance Budgets": "Performance-Budgets",
"The URL of the page to capture": "Die URL der zu erfassenden Seite",
"Format of the screenshot image": "Format des Screenshot-Bildes",
"Image quality (0-100, only for JPEG)": "Bildqualität (0-100, nur für JPEG)",
"Capture the full scrollable page": "Erfassen Sie die vollständige scrollbare Seite",
"Width of the browser viewport in pixels": "Breite des Browser-Viewports in Pixeln",
"Height of the browser viewport in pixels": "Höhe des Browser-Viewports in Pixeln",
"CSS selector to wait for before taking screenshot": "CSS-Selektor, auf den gewartet wird, bevor ein Screenshot gemacht wird",
"Delay in milliseconds before taking screenshot": "Verzögerung in Millisekunden vor dem Screenshot",
"Hide default white background for transparent screenshots": "Standardweißer Hintergrund für transparente Screenshots ausblenden",
"X coordinate of the top-left corner for clipping": "X-Koordinate der oberen linken Ecke zum Clippen",
"Y coordinate of the top-left corner for clipping": "Y-Koordinate der oberen linken Ecke zum Clippen",
"Width of the clipping area": "Breite des Clipping-Bereichs",
"Height of the clipping area": "Höhe des Clipping-Bereichs",
"The URL of the page to convert to PDF": "Die URL der zu konvertierenden Seite",
"HTML content to render as PDF (alternative to URL)": "HTML-Inhalt zum rendern als PDF (Alternative zur URL)",
"Paper format for the PDF": "Papierformat für das PDF",
"Use landscape orientation": "Querformat verwenden",
"Include background graphics": "Hintergrundgrafiken einbeziehen",
"Top margin (e.g., \"10mm\", \"0.4in\")": "Oberer Rand (z.B. \"10mm\", \"0.4in\")",
"Right margin (e.g., \"10mm\", \"0.4in\")": "Rechter Rand (z.B. \"10mm\", \"0.4in\")",
"Bottom margin (e.g., \"10mm\", \"0.4in\")": "Unterer Rand (z.B. \"10mm\", \"0.4in\")",
"Left margin (e.g., \"10mm\", \"0.4in\")": "Linker Rand (z.B. \"10mm\", \"0.4in\")",
"HTML template for the print header": "HTML-Vorlage für den Druckkopf",
"HTML template for the print footer": "HTML-Template für den Druckfuß",
"Display header and footer": "Kopf- und Fußzeile anzeigen",
"Scale of the webpage rendering (0.1 - 2.0)": "Skalierung der Darstellung der Webseite (0.1 - 2.0)",
"CSS selector to wait for before generating PDF": "CSS-Selektor, auf den gewartet wird, bevor PDF generiert wird",
"Timeout in milliseconds for waiting for selector": "Timeout in Millisekunden für Warten auf Selektor",
"Wait for selector to be visible": "Warten Sie, bis Selektor sichtbar ist",
"Wait for selector to be hidden": "Warten Sie, bis Selektor ausgeblendet wird",
"Give any CSS @page size declared in the page priority over format": "Geben Sie irgendeine CSS @page Größe die in der Seitenpriorität deklariert ist über das Format",
"Paper ranges to print, e.g. \"1-5, 8, 11-13\"": "Papierbereiche zum Drucken, z.B. \"1-5, 8, 11-13\"",
"Custom width of paper (e.g., \"8.5in\", \"210mm\")": "Eigene Papierbreite (z. B. \"8.5in\", \"210mm\")",
"Custom height of paper (e.g., \"11in\", \"297mm\")": "Benutzerdefinierte Papierhöhe (z. B. \"11in\", \"297mm\")",
"Hide default white background and allow transparent PDFs": "Standardweißer Hintergrund ausblenden und transparente PDFs erlauben",
"Generate tagged (accessible) PDF": "Erstelle markierte (zugängliche) PDF",
"Generate document outline": "Dokumentenumriss generieren",
"Maximum time to wait for the page to load": "Maximale Wartezeit bis die Seite geladen wird",
"JavaScript function to wait for before generating PDF": "JavaScript-Funktion, auf die gewartet wird, bevor PDF generiert wird",
"Polling interval for wait function (\"raf\", \"mutation\", or number in ms)": "Abfrageintervall für Wartefunktion (\"raf\", \"Mutation\", oder Zahl in ms)",
"Timeout in milliseconds for wait function (0 to disable)": "Timeout in Millisekunden für die Wartefunktion (0 zum deaktivieren)",
"Custom user agent string to use for the request": "Benutzerdefinierte Benutzer-Agenten-Zeichenkette für die Anfrage",
"Timeout in milliseconds to wait before generating PDF": "Timeout in Millisekunden warten bevor PDF erstellt wird",
"Attempt to proceed when awaited events fail or timeout": "Versuch fortzufahren, wenn die erwarteten Ereignisse fehlschlagen oder Timeout",
"The URL of the page to scrape": "Die URL der zu kratzenden Seite",
"CSS selectors for elements to extract": "CSS-Selektoren für Elemente zum Extrahieren",
"CSS selector to wait for before scraping": "CSS-Selektor, auf den gewartet werden soll, bevor man kratzt",
"Timeout in milliseconds to wait before scraping": "Timeout in Millisekunden, die vor dem Scraping warten sollen",
"Event name to wait for before scraping": "Event-Name vor dem Scraping",
"Timeout in milliseconds for wait event": "Timeout in Millisekunden für Warteereignis",
"Include console logs in debug output": "Konsolen-Logs in die Debug-Ausgabe einbeziehen",
"Include cookies in debug output": "Cookies in Debug-Ausgabe einbeziehen",
"Include network requests in debug output": "Netzwerk-Anfragen in die Debug-Ausgabe einbeziehen",
"Custom user agent string": "Benutzerdefinierte Benutzer-Agenten-Zeichenkette",
"Cookies to set before scraping": "Vor dem Scraping einzusetzende Cookies",
"When to consider navigation complete": "Wann die Navigation abgeschlossen ist",
"JavaScript function to wait for before scraping (should return true when ready)": "JavaScript-Funktion, auf die gewartet wird, bevor das Scraping beendet wird (sollte true zurückgeben, wenn fertig)",
"Browser viewport width in pixels": "Browser-Ansichtsport Breite in Pixeln",
"Browser viewport height in pixels": "Höhe des Browser-Viewport in Pixeln",
"GraphQL-based BQL query for browser automation. Example: mutation { goto(url: \"https://example.com\") { status } }": "GraphQL-basierte BQL-Abfrage für Browserautomatisierung. Beispiel: Mutation { goto(url: \"https://example.com\") { status }}",
"Variables to pass to the BQL query (JSON object)": "Variablen zur Übergabe an die BQL-Anfrage (JSON-Objekt)",
"Name of the GraphQL operation to execute": "Name der auszuführenden GraphQL-Operation",
"Maximum execution time in milliseconds": "Maximale Ausführungszeit in Millisekunden",
"Enable stealth mode for bot detection bypass": "Stealth-Modus für Bot-Erkennung aktivieren",
"Run browser in headless mode (set to false for GUI)": "Browser im kopflosen Modus ausführen (auf \"false\" für \"false\" für \"GUI\" setzen)",
"Enable human-like mouse movement, typing, and delays": "menschenähnliche Mausbewegungen, Tippen und Verzögerungen aktivieren",
"Type of proxy to use": "Typ des zu verwendenden Proxys",
"Country code for residential proxy (e.g., us, gb, de)": "Landesvorwahl für Proxy für Wohnhäuser (z. B. us, gb, de)",
"Maintain same proxy IP across session": "dieselbe Proxy-IP während der Sitzung beibehalten",
"Enable ad blocker (uBlock Origin)": "Werbeblocker aktivieren (uBlock Origin)",
"Automatically block/dismiss cookie consent banners": "Cookie-Zustimmungs-Banner automatisch sperren/verwerfen",
"Enable session recording for debugging": "Sitzungsaufzeichnung für Debugging aktivieren",
"Add delays between browser actions in milliseconds": "Verzögerung zwischen Browser-Aktionen in Millisekunden hinzufügen",
"Ignore HTTPS certificate errors during navigation": "Fehler beim HTTPS-Zertifikat während der Navigation ignorieren",
"Browser viewport width": "Browser viewport width",
"Browser viewport height": "Höhe des Viewport-Browsers",
"Cookies to set before executing BQL query": "Vor der Ausführung der BQL-Abfrage zu setzende Cookies",
"The URL of the website to analyze": "Die URL der zu analysierenden Webseite",
"Select which performance categories to analyze (performance, accessibility, best-practices, seo, pwa)": "Wählen Sie die zu analysierenden Leistungskategorien (Leistung, Zugänglichkeit, Best Practices, seo, pwa)",
"Device type for performance analysis": "Gerätetyp für Leistungsanalyse",
"Network throttling simulation": "Netzwerkdrosseln Simulation",
"Return only category scores without detailed audit results": "Gibt nur Kategorie-Ergebnisse ohne detaillierte Audit-Ergebnisse zurück",
"Locale for the analysis (e.g., en-US, de-DE)": "Sprache für die Analyse (z. B. en-US, de-DE)",
"Maximum time to wait for the analysis to complete": "Maximale Wartezeit bis die Analyse abgeschlossen ist",
"CSS selector to wait for before running performance analysis": "CSS-Selektor, auf den gewartet wird, bevor Performance-Analyse ausgeführt wird",
"Emulate CSS media type": "CSS-Medientyp emulieren",
"Lighthouse performance budgets for resource sizes": "Lighthouse Performance-Budgets für Ressourcengrößen",
"Enable ad blocker during performance analysis": "Werbeblocker während der Leistungsanalyse aktivieren",
"PNG": "PNG",
"JPEG": "JPEG",
"A0": "A0",
"A1": "A1",
"A2": "A2",
"A3": "A3",
"A4": "A4",
"A5": "A5",
"A6": "A6",
"Letter": "Brief",
"Legal": "Rechtlich",
"Ledger": "Ledger",
"Tabloid": "Tabloid",
"Load Event": "Ereignis laden",
"DOM Content Loaded": "DOM Inhalt geladen",
"Network Idle 0": "Netzwerk Leerlauf 0",
"Network Idle 2": "Netzwerk Leerlauf 2",
"Residential": "Wohngebiet",
"None": "Keine",
"Desktop": "Desktop",
"Mobile": "Mobil",
"No Throttling": "Kein Drosseln",
"Slow 4G": "Langsam 4G",
"Regular 4G": "Normale 4G",
"Fast 4G": "Fast 4G",
"Screen": "Bildschirm",
"Print": "Drucken"
}

View File

@@ -0,0 +1,209 @@
{
"Browserless is a headless browser automation tool that allows you to scrape websites, take screenshots, and more.": "Browserless es una herramienta de automatización de navegadores sin cabeceras que le permite rascar sitios web, realizar capturas de pantalla, y más.",
"API Token": "API Token",
"Region": "Región",
"Custom Base URL": "URL Base personalizada",
"Your Browserless API token (found in your dashboard)": "Su token de API sin navegador (encontrado en su panel)",
"Choose the regional endpoint closest to you for optimal performance": "Elija el punto final regional más cercano a usted para un rendimiento óptimo",
"Enter your custom Browserless endpoint URL": "Introduzca su URL de punto final personalizado para Navegar",
"US West (San Francisco)": "Oeste de Estados Unidos (San Francisco)",
"Europe UK (London)": "Europa UK (Londres)",
"Europe (Amsterdam)": "Europa (j)",
"Custom Endpoint": "Endpoint personalizado",
"\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated ": "\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated instances, select \"Custom\" and enter your specific endpoint URL.\n ",
"Capture Screenshot": "Captura de pantalla",
"Generate PDF": "Generar PDF",
"Scrape URL": "URL del raspado",
"Run BQL Query": "Ejecutar consulta BQL",
"Get Website Performance": "Obtener rendimiento del sitio web",
"Take a screenshot of a web page": "Captura de pantalla de una página web",
"Convert a web page to PDF": "Convertir una página web a PDF",
"Extract content from a web page": "Extraer contenido de una página web",
"Execute Browser Query Language (BQL) GraphQL-based queries for advanced browser automation": "Ejecutar consultas del navegador (BQL) consultas basadas en gráficos para la automatización avanzada del navegador",
"Analyze website performance metrics using Lighthouse": "Analizar métricas de rendimiento del sitio web usando Faro",
"URL": "URL",
"Image Type": "Tipo de imagen",
"Quality": "Calidad",
"Full Page": "Página completa",
"Viewport Width": "Ancho de vista",
"Viewport Height": "Vista Altura",
"Wait for Selector": "Esperar al Selector",
"Delay (ms)": "Retraso (ms)",
"Omit Background": "Omitir fondo",
"Clip X Position": "Posición X del clip",
"Clip Y Position": "Clip Y Position",
"Clip Width": "Clip Width",
"Clip Height": "Altura del clip",
"HTML Content": "Contenido HTML",
"Paper Format": "Formato de papel",
"Landscape": "Paisaje",
"Print Background": "Imprimir fondo",
"Top Margin": "Margen superior",
"Right Margin": "Margen Derecho",
"Bottom Margin": "Margen Inferior",
"Left Margin": "Margen izquierdo",
"Header Template": "Plantilla de cabecera",
"Footer Template": "Plantilla de pie de página",
"Display Header/Footer": "Mostrar cabeza/pie de página",
"Scale": "Escala",
"Wait for Selector Timeout": "Esperar al tiempo de espera del selector",
"Wait for Selector Visible": "Esperar al Selector Visible",
"Wait for Selector Hidden": "Esperar al Selector oculto",
"Prefer CSS Page Size": "Prefer CSS Page Size",
"Page Ranges": "Rangos de página",
"Custom Width": "Ancho personalizado",
"Custom Height": "Altura personalizada",
"Tagged PDF": "PDF etiquetado",
"Generate Outline": "Generar Outline",
"Timeout (ms)": "Tiempo agotado (ms)",
"Wait for Function": "Espere a la función",
"Wait for Function Polling": "Espere a la Encuesta de Funciones",
"Wait for Function Timeout": "Espere a que la función termine",
"User Agent": "Agente de usuario",
"Wait Timeout (ms)": "Esperar tiempo agotado (ms)",
"Best Attempt": "Mejor intento",
"Elements to Extract": "Elementos a extraer",
"Wait for Event": "Esperar al evento",
"Wait for Event Timeout": "Esperar al tiempo de espera del evento",
"Debug Console": "Debug Console",
"Debug Cookies": "Depurar Cookies",
"Debug Network": "Depurar red",
"Cookies": "Cookies",
"Wait Until": "Esperar hasta",
"BQL Query": "Consulta BQL",
"Query Variables": "Variables de consulta",
"Operation Name": "Nombre de la Operación",
"Stealth Mode": "Modo Sigilo",
"Headless Mode": "Modo sin cabeza",
"Human-like Behavior": "Comportamiento humano",
"Proxy Type": "Tipo de proxy",
"Proxy Country": "País del proxy",
"Sticky Proxy": "Proxy adherido",
"Block Ads": "Bloquear anuncios",
"Block Consent Modals": "Bloquear Modales por Consentimiento",
"Record Session": "Grabar sesión",
"Slow Motion (ms)": "Cámara lenta (ms)",
"Ignore HTTPS Errors": "Ignorar errores HTTPS",
"Performance Categories": "Categorías de rendimiento",
"Device Type": "Tipo de dispositivo",
"Network Throttling": "Lanzamiento de red",
"Only Category Scores": "Sólo puntajes de categoría",
"Locale": "Local",
"Emulate Media Type": "Emular tipo de medio",
"Performance Budgets": "Presupuestos de rendimiento",
"The URL of the page to capture": "La URL de la página a capturar",
"Format of the screenshot image": "Formato de la imagen de captura de pantalla",
"Image quality (0-100, only for JPEG)": "Calidad de imagen (0-100, solo para JPEG)",
"Capture the full scrollable page": "Capturar la página desplegable",
"Width of the browser viewport in pixels": "Ancho de la vista del navegador en píxeles",
"Height of the browser viewport in pixels": "Altura de la vista del navegador en píxeles",
"CSS selector to wait for before taking screenshot": "Selector CSS a esperar antes de tomar una captura de pantalla",
"Delay in milliseconds before taking screenshot": "Retardo en milisegundos antes de tomar una captura de pantalla",
"Hide default white background for transparent screenshots": "Ocultar fondo blanco por defecto para las capturas de pantalla transparentes",
"X coordinate of the top-left corner for clipping": "Coordenada X de la esquina superior izquierda para recortar",
"Y coordinate of the top-left corner for clipping": "Coordenada Y de la esquina superior izquierda para recortar",
"Width of the clipping area": "Ancho del área de recorte",
"Height of the clipping area": "Altura del área de recorte",
"The URL of the page to convert to PDF": "La URL de la página a convertir a PDF",
"HTML content to render as PDF (alternative to URL)": "Contenido HTML a procesar como PDF (alternativa a la URL)",
"Paper format for the PDF": "Formato de papel para el PDF",
"Use landscape orientation": "Usar orientación horizontal",
"Include background graphics": "Incluye gráficos de fondo",
"Top margin (e.g., \"10mm\", \"0.4in\")": "Margen superior (por ej., \"10mm\", \"0.4in\")",
"Right margin (e.g., \"10mm\", \"0.4in\")": "Margen derecho (por ej., \"10mm\", \"0.4in\")",
"Bottom margin (e.g., \"10mm\", \"0.4in\")": "Margen de inicio (por ej., \"10mm\", \"0.4in\")",
"Left margin (e.g., \"10mm\", \"0.4in\")": "Margen izquierdo (por ej., \"10mm\", \"0.4in\")",
"HTML template for the print header": "Plantilla HTML para el encabezado de impresión",
"HTML template for the print footer": "Plantilla HTML para el pie de página de impresión",
"Display header and footer": "Mostrar cabecera y pie de página",
"Scale of the webpage rendering (0.1 - 2.0)": "Escala del renderizado de la página web (0.1 - 2.0)",
"CSS selector to wait for before generating PDF": "Selector CSS a esperar antes de generar PDF",
"Timeout in milliseconds for waiting for selector": "Tiempo de espera en milisegundos para el selector",
"Wait for selector to be visible": "Espere a que el selector sea visible",
"Wait for selector to be hidden": "Espere a que el selector esté oculto",
"Give any CSS @page size declared in the page priority over format": "Dar cualquier tamaño de página CSS @page declarado en la prioridad de la página sobre el formato",
"Paper ranges to print, e.g. \"1-5, 8, 11-13\"": "Rango de papel para imprimir, por ejemplo, \"1-5, 8, 11-13\"",
"Custom width of paper (e.g., \"8.5in\", \"210mm\")": "Ancho personalizado del papel (por ejemplo, \"8.5in\", \"210mm\")",
"Custom height of paper (e.g., \"11in\", \"297mm\")": "Altura personalizada del papel (por ejemplo, \"11in\", \"297mm\")",
"Hide default white background and allow transparent PDFs": "Ocultar fondo blanco por defecto y permitir PDFs transparentes",
"Generate tagged (accessible) PDF": "Generar PDF etiquetado (accesible)",
"Generate document outline": "Generar contorno del documento",
"Maximum time to wait for the page to load": "Tiempo máximo de espera para cargar la página",
"JavaScript function to wait for before generating PDF": "Función JavaScript a esperar antes de generar PDF",
"Polling interval for wait function (\"raf\", \"mutation\", or number in ms)": "Intervalo de sondeo para función de espera (\"raf\", \"mutación\" o número en ms)",
"Timeout in milliseconds for wait function (0 to disable)": "Tiempo de espera agotado en milisegundos para función de espera (0 para desactivar)",
"Custom user agent string to use for the request": "Cadena personalizada de agente de usuario a usar para la solicitud",
"Timeout in milliseconds to wait before generating PDF": "Tiempo de espera en milisegundos antes de generar PDF",
"Attempt to proceed when awaited events fail or timeout": "Intento de proceder cuando los eventos esperados fallen o se agotan el tiempo de espera",
"The URL of the page to scrape": "La URL de la página a raspar",
"CSS selectors for elements to extract": "Selectores CSS para elementos a extraer",
"CSS selector to wait for before scraping": "Selector CSS a esperar antes de rascar",
"Timeout in milliseconds to wait before scraping": "Tiempo de espera en milisegundos para rascar",
"Event name to wait for before scraping": "Nombre del evento a esperar antes de rascar",
"Timeout in milliseconds for wait event": "Tiempo de espera en milisegundos para el evento de espera",
"Include console logs in debug output": "Incluye registros de la consola en la salida de depuración",
"Include cookies in debug output": "Incluye cookies en la salida de depuración",
"Include network requests in debug output": "Incluye peticiones de red en la salida de depuración",
"Custom user agent string": "Cadena de agente de usuario personalizado",
"Cookies to set before scraping": "Cookies a definir antes de rascar",
"When to consider navigation complete": "Cuándo considerar la navegación completa",
"JavaScript function to wait for before scraping (should return true when ready)": "Función JavaScript a esperar antes de rascar (debería devolver true cuando esté listo)",
"Browser viewport width in pixels": "Ancho de la vista del navegador en píxeles",
"Browser viewport height in pixels": "Altura de la vista del navegador en píxeles",
"GraphQL-based BQL query for browser automation. Example: mutation { goto(url: \"https://example.com\") { status } }": "Consulta BQL basada en gráficos para la automatización del navegador. Ejemplo: mutación { goto(url: \"https://example.com\") { status }}",
"Variables to pass to the BQL query (JSON object)": "Variables a pasar a la consulta BQL (objeto JSON)",
"Name of the GraphQL operation to execute": "Nombre de la operación GraphQL a ejecutar",
"Maximum execution time in milliseconds": "Tiempo máximo de ejecución en milisegundos",
"Enable stealth mode for bot detection bypass": "Activar modo sigiloso para evitar la detección de bots",
"Run browser in headless mode (set to false for GUI)": "Ejecutar navegador en modo sin cabeceras (establecido en falso para GUI)",
"Enable human-like mouse movement, typing, and delays": "Habilita el movimiento humano del ratón, la escritura y los retrasos",
"Type of proxy to use": "Tipo de proxy a usar",
"Country code for residential proxy (e.g., us, gb, de)": "Código del país para el proxy residencial (por ejemplo, nosotros, gb, de)",
"Maintain same proxy IP across session": "Mantener el mismo proxy IP durante la sesión",
"Enable ad blocker (uBlock Origin)": "Habilitar bloqueador de anuncios (uBlock Origin)",
"Automatically block/dismiss cookie consent banners": "Bloquear/descartar automáticamente banners de consentimiento de cookies",
"Enable session recording for debugging": "Activar grabación de sesión para depurar",
"Add delays between browser actions in milliseconds": "Añadir retrasos entre las acciones del navegador en milisegundos",
"Ignore HTTPS certificate errors during navigation": "Ignorar errores de certificado HTTPS durante la navegación",
"Browser viewport width": "Browser viewport width",
"Browser viewport height": "Alto de la vista del navegador",
"Cookies to set before executing BQL query": "Cookies a configurar antes de ejecutar la consulta BQL",
"The URL of the website to analyze": "La URL del sitio web para analizar",
"Select which performance categories to analyze (performance, accessibility, best-practices, seo, pwa)": "Seleccione qué categorías de rendimiento analizar (rendimiento, accesibilidad, mejores prácticas, seo, pwa)",
"Device type for performance analysis": "Tipo de dispositivo para análisis de rendimiento",
"Network throttling simulation": "Simulación de acelerador de red",
"Return only category scores without detailed audit results": "Devolver sólo puntuaciones de categorías sin resultados detallados de auditoría",
"Locale for the analysis (e.g., en-US, de-DE)": "Locale para el análisis (por ej., en-US, de-de--",
"Maximum time to wait for the analysis to complete": "Tiempo máximo de espera para completar el análisis",
"CSS selector to wait for before running performance analysis": "Selector CSS a esperar antes de ejecutar el análisis de rendimiento",
"Emulate CSS media type": "Emular tipo de medio CSS",
"Lighthouse performance budgets for resource sizes": "Presupuestos de rendimiento del faro para tamaños de recursos",
"Enable ad blocker during performance analysis": "Habilitar bloqueador de anuncios durante el análisis de rendimiento",
"PNG": "PNG",
"JPEG": "JPEG",
"A0": "A0",
"A1": "R1",
"A2": "R2",
"A3": "R3",
"A4": "R4",
"A5": "R5",
"A6": "R6",
"Letter": "Letra",
"Legal": "Legal",
"Ledger": "Libro",
"Tabloid": "Tabloide",
"Load Event": "Cargar evento",
"DOM Content Loaded": "Contenido DOM cargado",
"Network Idle 0": "Red inactiva 0",
"Network Idle 2": "Red inactiva 2",
"Residential": "Residencial",
"None": "Ninguna",
"Desktop": "Escritorio",
"Mobile": "Móvil",
"No Throttling": "Sin lanzamientos",
"Slow 4G": "4G lento",
"Regular 4G": "4G regular",
"Fast 4G": "Fast 4G",
"Screen": "Pantalla",
"Print": "Imprimir"
}

View File

@@ -0,0 +1,209 @@
{
"Browserless is a headless browser automation tool that allows you to scrape websites, take screenshots, and more.": "Browserless is a headless browser automation tool that allows you to scrape websites, take screenshots, and more.",
"API Token": "API Token",
"Region": "Région",
"Custom Base URL": "Custom Base URL",
"Your Browserless API token (found in your dashboard)": "Your Browserless API token (found in your dashboard)",
"Choose the regional endpoint closest to you for optimal performance": "Choose the regional endpoint closest to you for optimal performance",
"Enter your custom Browserless endpoint URL": "Enter your custom Browserless endpoint URL",
"US West (San Francisco)": "US West (San Francisco)",
"Europe UK (London)": "Europe UK (London)",
"Europe (Amsterdam)": "Europe (Amsterdam)",
"Custom Endpoint": "Custom Endpoint",
"\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated ": "\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated instances, select \"Custom\" and enter your specific endpoint URL.\n ",
"Capture Screenshot": "Capture d'écran",
"Generate PDF": "Generate PDF",
"Scrape URL": "Scrape URL",
"Run BQL Query": "Run BQL Query",
"Get Website Performance": "Get Website Performance",
"Take a screenshot of a web page": "Take a screenshot of a web page",
"Convert a web page to PDF": "Convert a web page to PDF",
"Extract content from a web page": "Extract content from a web page",
"Execute Browser Query Language (BQL) GraphQL-based queries for advanced browser automation": "Execute Browser Query Language (BQL) GraphQL-based queries for advanced browser automation",
"Analyze website performance metrics using Lighthouse": "Analyze website performance metrics using Lighthouse",
"URL": "URL",
"Image Type": "Image Type",
"Quality": "Qualité",
"Full Page": "Page complète",
"Viewport Width": "Largeur de la fenêtre",
"Viewport Height": "Hauteur de la fenêtre d'affichage",
"Wait for Selector": "Attendre le sélecteur",
"Delay (ms)": "Delay (ms)",
"Omit Background": "Omit Background",
"Clip X Position": "Clip X Position",
"Clip Y Position": "Clip Y Position",
"Clip Width": "Clip Width",
"Clip Height": "Clip Height",
"HTML Content": "Contenu HTML",
"Paper Format": "Paper Format",
"Landscape": "Paysage",
"Print Background": "Imprimer l'arrière-plan",
"Top Margin": "Top Margin",
"Right Margin": "Right Margin",
"Bottom Margin": "Bottom Margin",
"Left Margin": "Left Margin",
"Header Template": "Header Template",
"Footer Template": "Footer Template",
"Display Header/Footer": "Afficher en-tête/pied de page",
"Scale": "Échelle",
"Wait for Selector Timeout": "Wait for Selector Timeout",
"Wait for Selector Visible": "Wait for Selector Visible",
"Wait for Selector Hidden": "Wait for Selector Hidden",
"Prefer CSS Page Size": "Prefer CSS Page Size",
"Page Ranges": "Intervalle de pages",
"Custom Width": "Largeur personnalisée",
"Custom Height": "Hauteur personnalisée",
"Tagged PDF": "Tagged PDF",
"Generate Outline": "Generate Outline",
"Timeout (ms)": "Délai d'attente (ms)",
"Wait for Function": "Wait for Function",
"Wait for Function Polling": "Wait for Function Polling",
"Wait for Function Timeout": "Wait for Function Timeout",
"User Agent": "Agent Utilisateur",
"Wait Timeout (ms)": "Délai d'attente (ms)",
"Best Attempt": "Best Attempt",
"Elements to Extract": "Elements to Extract",
"Wait for Event": "Wait for Event",
"Wait for Event Timeout": "Wait for Event Timeout",
"Debug Console": "Debug Console",
"Debug Cookies": "Debug Cookies",
"Debug Network": "Debug Network",
"Cookies": "Cookies",
"Wait Until": "Wait Until",
"BQL Query": "BQL Query",
"Query Variables": "Query Variables",
"Operation Name": "Operation Name",
"Stealth Mode": "Stealth Mode",
"Headless Mode": "Headless Mode",
"Human-like Behavior": "Human-like Behavior",
"Proxy Type": "Proxy Type",
"Proxy Country": "Proxy Country",
"Sticky Proxy": "Sticky Proxy",
"Block Ads": "Block Ads",
"Block Consent Modals": "Block Consent Modals",
"Record Session": "Record Session",
"Slow Motion (ms)": "Slow Motion (ms)",
"Ignore HTTPS Errors": "Ignore HTTPS Errors",
"Performance Categories": "Performance Categories",
"Device Type": "Type de périphérique",
"Network Throttling": "Network Throttling",
"Only Category Scores": "Only Category Scores",
"Locale": "Locale",
"Emulate Media Type": "Emulate Media Type",
"Performance Budgets": "Performance Budgets",
"The URL of the page to capture": "The URL of the page to capture",
"Format of the screenshot image": "Format of the screenshot image",
"Image quality (0-100, only for JPEG)": "Image quality (0-100, only for JPEG)",
"Capture the full scrollable page": "Capturer la page défilante complète",
"Width of the browser viewport in pixels": "Width of the browser viewport in pixels",
"Height of the browser viewport in pixels": "Height of the browser viewport in pixels",
"CSS selector to wait for before taking screenshot": "CSS selector to wait for before taking screenshot",
"Delay in milliseconds before taking screenshot": "Delay in milliseconds before taking screenshot",
"Hide default white background for transparent screenshots": "Hide default white background for transparent screenshots",
"X coordinate of the top-left corner for clipping": "X coordinate of the top-left corner for clipping",
"Y coordinate of the top-left corner for clipping": "Y coordinate of the top-left corner for clipping",
"Width of the clipping area": "Width of the clipping area",
"Height of the clipping area": "Height of the clipping area",
"The URL of the page to convert to PDF": "The URL of the page to convert to PDF",
"HTML content to render as PDF (alternative to URL)": "HTML content to render as PDF (alternative to URL)",
"Paper format for the PDF": "Paper format for the PDF",
"Use landscape orientation": "Use landscape orientation",
"Include background graphics": "Include background graphics",
"Top margin (e.g., \"10mm\", \"0.4in\")": "Top margin (e.g., \"10mm\", \"0.4in\")",
"Right margin (e.g., \"10mm\", \"0.4in\")": "Right margin (e.g., \"10mm\", \"0.4in\")",
"Bottom margin (e.g., \"10mm\", \"0.4in\")": "Bottom margin (e.g., \"10mm\", \"0.4in\")",
"Left margin (e.g., \"10mm\", \"0.4in\")": "Left margin (e.g., \"10mm\", \"0.4in\")",
"HTML template for the print header": "HTML template for the print header",
"HTML template for the print footer": "HTML template for the print footer",
"Display header and footer": "Display header and footer",
"Scale of the webpage rendering (0.1 - 2.0)": "Scale of the webpage rendering (0.1 - 2.0)",
"CSS selector to wait for before generating PDF": "CSS selector to wait for before generating PDF",
"Timeout in milliseconds for waiting for selector": "Timeout in milliseconds for waiting for selector",
"Wait for selector to be visible": "Wait for selector to be visible",
"Wait for selector to be hidden": "Wait for selector to be hidden",
"Give any CSS @page size declared in the page priority over format": "Give any CSS @page size declared in the page priority over format",
"Paper ranges to print, e.g. \"1-5, 8, 11-13\"": "Paper ranges to print, e.g. \"1-5, 8, 11-13\"",
"Custom width of paper (e.g., \"8.5in\", \"210mm\")": "Custom width of paper (e.g., \"8.5in\", \"210mm\")",
"Custom height of paper (e.g., \"11in\", \"297mm\")": "Custom height of paper (e.g., \"11in\", \"297mm\")",
"Hide default white background and allow transparent PDFs": "Hide default white background and allow transparent PDFs",
"Generate tagged (accessible) PDF": "Generate tagged (accessible) PDF",
"Generate document outline": "Generate document outline",
"Maximum time to wait for the page to load": "Maximum time to wait for the page to load",
"JavaScript function to wait for before generating PDF": "JavaScript function to wait for before generating PDF",
"Polling interval for wait function (\"raf\", \"mutation\", or number in ms)": "Polling interval for wait function (\"raf\", \"mutation\", or number in ms)",
"Timeout in milliseconds for wait function (0 to disable)": "Timeout in milliseconds for wait function (0 to disable)",
"Custom user agent string to use for the request": "Custom user agent string to use for the request",
"Timeout in milliseconds to wait before generating PDF": "Timeout in milliseconds to wait before generating PDF",
"Attempt to proceed when awaited events fail or timeout": "Attempt to proceed when awaited events fail or timeout",
"The URL of the page to scrape": "The URL of the page to scrape",
"CSS selectors for elements to extract": "CSS selectors for elements to extract",
"CSS selector to wait for before scraping": "CSS selector to wait for before scraping",
"Timeout in milliseconds to wait before scraping": "Timeout in milliseconds to wait before scraping",
"Event name to wait for before scraping": "Event name to wait for before scraping",
"Timeout in milliseconds for wait event": "Timeout in milliseconds for wait event",
"Include console logs in debug output": "Include console logs in debug output",
"Include cookies in debug output": "Include cookies in debug output",
"Include network requests in debug output": "Include network requests in debug output",
"Custom user agent string": "Custom user agent string",
"Cookies to set before scraping": "Cookies to set before scraping",
"When to consider navigation complete": "When to consider navigation complete",
"JavaScript function to wait for before scraping (should return true when ready)": "JavaScript function to wait for before scraping (should return true when ready)",
"Browser viewport width in pixels": "Browser viewport width in pixels",
"Browser viewport height in pixels": "Browser viewport height in pixels",
"GraphQL-based BQL query for browser automation. Example: mutation { goto(url: \"https://example.com\") { status } }": "GraphQL-based BQL query for browser automation. Example: mutation { goto(url: \"https://example.com\") { status } }",
"Variables to pass to the BQL query (JSON object)": "Variables to pass to the BQL query (JSON object)",
"Name of the GraphQL operation to execute": "Name of the GraphQL operation to execute",
"Maximum execution time in milliseconds": "Maximum execution time in milliseconds",
"Enable stealth mode for bot detection bypass": "Enable stealth mode for bot detection bypass",
"Run browser in headless mode (set to false for GUI)": "Run browser in headless mode (set to false for GUI)",
"Enable human-like mouse movement, typing, and delays": "Enable human-like mouse movement, typing, and delays",
"Type of proxy to use": "Type of proxy to use",
"Country code for residential proxy (e.g., us, gb, de)": "Country code for residential proxy (e.g., us, gb, de)",
"Maintain same proxy IP across session": "Maintain same proxy IP across session",
"Enable ad blocker (uBlock Origin)": "Enable ad blocker (uBlock Origin)",
"Automatically block/dismiss cookie consent banners": "Automatically block/dismiss cookie consent banners",
"Enable session recording for debugging": "Enable session recording for debugging",
"Add delays between browser actions in milliseconds": "Add delays between browser actions in milliseconds",
"Ignore HTTPS certificate errors during navigation": "Ignore HTTPS certificate errors during navigation",
"Browser viewport width": "Browser viewport width",
"Browser viewport height": "Browser viewport height",
"Cookies to set before executing BQL query": "Cookies to set before executing BQL query",
"The URL of the website to analyze": "The URL of the website to analyze",
"Select which performance categories to analyze (performance, accessibility, best-practices, seo, pwa)": "Select which performance categories to analyze (performance, accessibility, best-practices, seo, pwa)",
"Device type for performance analysis": "Device type for performance analysis",
"Network throttling simulation": "Network throttling simulation",
"Return only category scores without detailed audit results": "Return only category scores without detailed audit results",
"Locale for the analysis (e.g., en-US, de-DE)": "Locale for the analysis (e.g., en-US, de-DE)",
"Maximum time to wait for the analysis to complete": "Maximum time to wait for the analysis to complete",
"CSS selector to wait for before running performance analysis": "CSS selector to wait for before running performance analysis",
"Emulate CSS media type": "Emulate CSS media type",
"Lighthouse performance budgets for resource sizes": "Lighthouse performance budgets for resource sizes",
"Enable ad blocker during performance analysis": "Enable ad blocker during performance analysis",
"PNG": "PNG",
"JPEG": "JPEG",
"A0": "A0",
"A1": "A1",
"A2": "A2",
"A3": "A3",
"A4": "A4",
"A5": "A5",
"A6": "A6",
"Letter": "Lettre",
"Legal": "Mentions légales",
"Ledger": "Ledger",
"Tabloid": "Tabloïde",
"Load Event": "Charger un événement",
"DOM Content Loaded": "Contenu DOM chargé",
"Network Idle 0": "Inactivité du réseau 0",
"Network Idle 2": "Inactivité réseau 2",
"Residential": "Résidentiel",
"None": "Aucun",
"Desktop": "Bureau",
"Mobile": "Téléphone mobile",
"No Throttling": "Pas de bricolage",
"Slow 4G": "Lente 4G",
"Regular 4G": "4G normale",
"Fast 4G": "Fast 4G",
"Screen": "Ecran",
"Print": "Imprimer"
}

View File

@@ -0,0 +1,209 @@
{
"Browserless is a headless browser automation tool that allows you to scrape websites, take screenshots, and more.": "Browserless は Web サイトをスクレイプし、スクリーンショットを撮るなど、ヘッドレスブラウザーの自動化ツールです。",
"API Token": "API Token",
"Region": "地域",
"Custom Base URL": "カスタムベースURL",
"Your Browserless API token (found in your dashboard)": "ブラウザレス API トークン (ダッシュボードにあります)",
"Choose the regional endpoint closest to you for optimal performance": "最適なパフォーマンスを得るために、最も近い地域のエンドポイントを選択してください",
"Enter your custom Browserless endpoint URL": "カスタムブラウザレスエンドポイントURLを入力してください",
"US West (San Francisco)": "US West (サンフランシスコ)",
"Europe UK (London)": "ヨーロッパ英国 (ロンドン)",
"Europe (Amsterdam)": "ヨーロッパ(アムステルダム)",
"Custom Endpoint": "カスタムエンドポイント",
"\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated ": "\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated instances, select \"Custom\" and enter your specific endpoint URL.\n ",
"Capture Screenshot": "スクリーンショットを撮影",
"Generate PDF": "PDFを生成",
"Scrape URL": "スクレイプ URL",
"Run BQL Query": "BQL クエリを実行",
"Get Website Performance": "ウェブサイトのパフォーマンスを取得する",
"Take a screenshot of a web page": "ウェブページのスクリーンショットを撮る",
"Convert a web page to PDF": "Web ページを PDF に変換する",
"Extract content from a web page": "ウェブページからコンテンツを抽出",
"Execute Browser Query Language (BQL) GraphQL-based queries for advanced browser automation": "ブラウザ・クエリ言語(BQL)のGraphQLベースのクエリを実行します。",
"Analyze website performance metrics using Lighthouse": "Lighthouseを使ってウェブサイトのパフォーマンス指標を分析する",
"URL": "URL",
"Image Type": "画像の種類",
"Quality": "品質",
"Full Page": "全ページ",
"Viewport Width": "ビューポートの幅",
"Viewport Height": "ビューポートの高さ",
"Wait for Selector": "セレクターを待つ",
"Delay (ms)": "遅延 (ミリ秒)",
"Omit Background": "バックグラウンドを省略する",
"Clip X Position": "クリップのX位置",
"Clip Y Position": "Clip Y Position",
"Clip Width": "Clip Width",
"Clip Height": "クリップの高さ",
"HTML Content": "HTML コンテンツ",
"Paper Format": "用紙の書式",
"Landscape": "ランドスケープ",
"Print Background": "背景を印刷",
"Top Margin": "上マージン(上)",
"Right Margin": "右証拠金",
"Bottom Margin": "下マージン(マージン)",
"Left Margin": "左マージン(&L)",
"Header Template": "ヘッダーテンプレート",
"Footer Template": "フッターテンプレート",
"Display Header/Footer": "ヘッダー/フッター",
"Scale": "拡大縮小",
"Wait for Selector Timeout": "セレクターのタイムアウトを待つ",
"Wait for Selector Visible": "セレクターが表示されるまで待つ",
"Wait for Selector Hidden": "セレクターが非表示になってから待つ",
"Prefer CSS Page Size": "Prefer CSS Page Size",
"Page Ranges": "ページ範囲",
"Custom Width": "カスタム幅",
"Custom Height": "カスタム高さ",
"Tagged PDF": "タグ付けされたPDF",
"Generate Outline": "アウトラインを生成",
"Timeout (ms)": "タイムアウト (ミリ秒)",
"Wait for Function": "Wait for Function",
"Wait for Function Polling": "関数のポーリングを待つ",
"Wait for Function Timeout": "関数のタイムアウトを待つ",
"User Agent": "ユーザーエージェント",
"Wait Timeout (ms)": "待機タイムアウト (ms)",
"Best Attempt": "Best Attempt",
"Elements to Extract": "抽出する要素",
"Wait for Event": "イベントを待つ",
"Wait for Event Timeout": "イベントのタイムアウトを待つ",
"Debug Console": "Debug Console",
"Debug Cookies": "クッキーのデバッグ",
"Debug Network": "ネットワークデバッグ",
"Cookies": "Cookie",
"Wait Until": "まで待機する",
"BQL Query": "BQL クエリ",
"Query Variables": "クエリ変数",
"Operation Name": "操作名",
"Stealth Mode": "ステルスモード",
"Headless Mode": "ヘッドレスモード",
"Human-like Behavior": "人間のような行動",
"Proxy Type": "プロキシタイプ",
"Proxy Country": "プロキシの国",
"Sticky Proxy": "スティッキープロキシ",
"Block Ads": "広告をブロック",
"Block Consent Modals": "同意モーダルをブロック",
"Record Session": "セッションを記録",
"Slow Motion (ms)": "スローモーション (ms)",
"Ignore HTTPS Errors": "HTTPS エラーを無視",
"Performance Categories": "パフォーマンスカテゴリー",
"Device Type": "デバイスタイプ",
"Network Throttling": "ネットワークスロットリング",
"Only Category Scores": "カテゴリの得点のみ",
"Locale": "ロケール",
"Emulate Media Type": "エミュレートするメディアタイプ",
"Performance Budgets": "パフォーマンス予算",
"The URL of the page to capture": "キャプチャするページの URL",
"Format of the screenshot image": "スクリーンショット画像のフォーマット",
"Image quality (0-100, only for JPEG)": "画質0-100、JPEGのみ",
"Capture the full scrollable page": "スクロール可能な全ページをキャプチャする",
"Width of the browser viewport in pixels": "ブラウザのビューポートの幅 (ピクセル単位)",
"Height of the browser viewport in pixels": "ブラウザのビューポートの高さ(ピクセル単位)",
"CSS selector to wait for before taking screenshot": "スクリーンショットを撮る前に待つCSSセレクター",
"Delay in milliseconds before taking screenshot": "スクリーンショット取得までの時間 (ミリ秒)",
"Hide default white background for transparent screenshots": "透明なスクリーンショットの場合、デフォルトの白背景を隠す",
"X coordinate of the top-left corner for clipping": "クリッピングのための左上隅のX座標",
"Y coordinate of the top-left corner for clipping": "クリッピングのための左上隅のY座標",
"Width of the clipping area": "クリッピング領域の幅",
"Height of the clipping area": "クリッピング領域の高さ",
"The URL of the page to convert to PDF": "PDF に変換するページの URL",
"HTML content to render as PDF (alternative to URL)": "PDFとしてレンダリングするHTMLコンテンツURLの代替",
"Paper format for the PDF": "PDFの用紙フォーマット",
"Use landscape orientation": "横向きの向きを使用",
"Include background graphics": "背景画像を含める",
"Top margin (e.g., \"10mm\", \"0.4in\")": "上マージン(例:\"10mm\", \"0.4in\")",
"Right margin (e.g., \"10mm\", \"0.4in\")": "右マージン(例:\"10mm\", \"0.4in\")",
"Bottom margin (e.g., \"10mm\", \"0.4in\")": "下マージン(例:\"10mm\", \"0.4in\")",
"Left margin (e.g., \"10mm\", \"0.4in\")": "左マージン(例:\"10mm\", \"0.4in\")",
"HTML template for the print header": "印刷ヘッダーのHTMLテンプレート",
"HTML template for the print footer": "印刷フッター用のHTMLテンプレート",
"Display header and footer": "ヘッダーとフッターを表示",
"Scale of the webpage rendering (0.1 - 2.0)": "ウェブページレンダリングのスケール (0.1 - 2.0)",
"CSS selector to wait for before generating PDF": "PDFを生成する前に待つCSSセレクター",
"Timeout in milliseconds for waiting for selector": "セレクター待機時間(ミリ秒単位)",
"Wait for selector to be visible": "セレクターが表示されるまで待つ",
"Wait for selector to be hidden": "セレクターが非表示になるまで待つ",
"Give any CSS @page size declared in the page priority over format": "フォーマットよりもページの優先度で宣言されたCSSの@ページサイズを指定します",
"Paper ranges to print, e.g. \"1-5, 8, 11-13\"": "印刷する用紙の範囲。例: \"1-5, 8, 11-13\"",
"Custom width of paper (e.g., \"8.5in\", \"210mm\")": "用紙のカスタム幅(例:\"8.5in\", \"210mm\")",
"Custom height of paper (e.g., \"11in\", \"297mm\")": "紙のカスタム高さ「11in」、「297mm」",
"Hide default white background and allow transparent PDFs": "既定の白背景を非表示にして透明な PDF を許可する",
"Generate tagged (accessible) PDF": "タグ付きの (アクセシブル) PDF を生成",
"Generate document outline": "ドキュメントのアウトラインを生成",
"Maximum time to wait for the page to load": "ページが読み込まれるまでの最大時間",
"JavaScript function to wait for before generating PDF": "PDFを生成する前に待つJavaScript関数",
"Polling interval for wait function (\"raf\", \"mutation\", or number in ms)": "待機関数のポーリング間隔 (\"raf\", \"mutation\", または ms内の数値)",
"Timeout in milliseconds for wait function (0 to disable)": "待機関数のタイムアウト0から無効",
"Custom user agent string to use for the request": "リクエストに使用するカスタムユーザーエージェント文字列",
"Timeout in milliseconds to wait before generating PDF": "PDF生成までの待機時間 (ミリ秒単位)",
"Attempt to proceed when awaited events fail or timeout": "待機中のイベントやタイムアウト時に続行しようとしています",
"The URL of the page to scrape": "スクレイプするページの URL",
"CSS selectors for elements to extract": "抽出する要素の CSS セレクター",
"CSS selector to wait for before scraping": "スクレイピングの前に待機するCSSセレクター",
"Timeout in milliseconds to wait before scraping": "スクレイプまでの待機時間(ミリ秒単位)",
"Event name to wait for before scraping": "スクラップする前に待機するイベント名",
"Timeout in milliseconds for wait event": "待機イベントのタイムアウト",
"Include console logs in debug output": "デバッグ出力にコンソールログを含める",
"Include cookies in debug output": "デバッグ出力に Cookie を含める",
"Include network requests in debug output": "デバッグ出力にネットワーク要求を含める",
"Custom user agent string": "カスタムユーザーエージェント文字列",
"Cookies to set before scraping": "スクレイピング前に設定するクッキー",
"When to consider navigation complete": "ナビゲーション完了を検討する時",
"JavaScript function to wait for before scraping (should return true when ready)": "スクレイピングの前に待機するJavaScript関数 (readyがtrueを返す必要があります)",
"Browser viewport width in pixels": "ブラウザのビューポートの幅(ピクセル単位)",
"Browser viewport height in pixels": "ブラウザのビューポートの高さ(ピクセル単位)",
"GraphQL-based BQL query for browser automation. Example: mutation { goto(url: \"https://example.com\") { status } }": "ブラウザの自動化のためのGraphQLベースのBQLクエリ。例: mutter{ goto(url: \"https://example.com\") { status }}",
"Variables to pass to the BQL query (JSON object)": "BQL クエリに渡す変数(JSON オブジェクト)",
"Name of the GraphQL operation to execute": "実行するGraphQL操作の名前",
"Maximum execution time in milliseconds": "最大実行時間 (ミリ秒)",
"Enable stealth mode for bot detection bypass": "Bot検出バイパスのステルスモードを有効にする",
"Run browser in headless mode (set to false for GUI)": "ヘッドレスモードでブラウザーを実行GUIの場合は falseに設定",
"Enable human-like mouse movement, typing, and delays": "人間のようなマウスの動き、入力、遅延を有効にする",
"Type of proxy to use": "使用するプロキシの種類",
"Country code for residential proxy (e.g., us, gb, de)": "居住者プロキシの国コードus、gb、de",
"Maintain same proxy IP across session": "セッション間で同じプロキシ IP を維持する",
"Enable ad blocker (uBlock Origin)": "広告ブロッカーを有効にする (uBlock Origin)",
"Automatically block/dismiss cookie consent banners": "クッキー同意バナーを自動的にブロック/却下する",
"Enable session recording for debugging": "デバッグ用のセッション録音を有効にする",
"Add delays between browser actions in milliseconds": "ブラウザー操作の間の遅延をミリ秒単位で追加",
"Ignore HTTPS certificate errors during navigation": "ナビゲーション中に HTTPS 証明書エラーを無視する",
"Browser viewport width": "Browser viewport width",
"Browser viewport height": "ブラウザーのビューポートの高さ",
"Cookies to set before executing BQL query": "BQL クエリを実行する前に設定する Cookie",
"The URL of the website to analyze": "分析するウェブサイトのURL",
"Select which performance categories to analyze (performance, accessibility, best-practices, seo, pwa)": "分析するパフォーマンスカテゴリを選択してください (パフォーマンス、アクセシビリティ、ベストプラクティス、seo、pwa)",
"Device type for performance analysis": "パフォーマンス分析のためのデバイスの種類",
"Network throttling simulation": "ネットワークスロットリングシミュレーション",
"Return only category scores without detailed audit results": "詳細な監査結果なしでカテゴリのみのスコアを返す",
"Locale for the analysis (e.g., en-US, de-DE)": "解析のためのロケールen-US、de-DE",
"Maximum time to wait for the analysis to complete": "分析が完了するまでの最大時間",
"CSS selector to wait for before running performance analysis": "パフォーマンス分析を実行する前に待機する CSS セレクター",
"Emulate CSS media type": "Emulate CSS media type",
"Lighthouse performance budgets for resource sizes": "リソースサイズのための灯台のパフォーマンス予算",
"Enable ad blocker during performance analysis": "パフォーマンス分析中に広告ブロッカーを有効にする",
"PNG": "PNG",
"JPEG": "JPEG",
"A0": "A0",
"A1": "A1",
"A2": "A2",
"A3": "A3",
"A4": "A4",
"A5": "A5",
"A6": "A6",
"Letter": "手紙",
"Legal": "Legal",
"Ledger": "Ledger",
"Tabloid": "タブロイド",
"Load Event": "イベントを読み込む",
"DOM Content Loaded": "DOMコンテンツがロードされました",
"Network Idle 0": "ネットワーク待機時間 0",
"Network Idle 2": "ネットワークアイドル2",
"Residential": "<unk>",
"None": "なし",
"Desktop": "デスクトップ",
"Mobile": "モバイル",
"No Throttling": "スロットリングなし",
"Slow 4G": "低速4G",
"Regular 4G": "通常4G",
"Fast 4G": "Fast 4G",
"Screen": "画面",
"Print": "印刷"
}

View File

@@ -0,0 +1,209 @@
{
"Browserless is a headless browser automation tool that allows you to scrape websites, take screenshots, and more.": "Browserless is een headless browser automatiseringstool waarmee je websites kunt scrapen, screenshots kunt maken en meer.",
"API Token": "API Token",
"Region": "Regio",
"Custom Base URL": "Aangepaste basis-URL",
"Your Browserless API token (found in your dashboard)": "Uw Browserless API-token (gevonden in uw dashboard)",
"Choose the regional endpoint closest to you for optimal performance": "Kies het regionale eindpunt dat het dichtst bij u staat voor optimale prestaties",
"Enter your custom Browserless endpoint URL": "Voer uw aangepaste Browserless eindpunt URL in",
"US West (San Francisco)": "VS West (San Francisco)",
"Europe UK (London)": "Europa UK (London)",
"Europe (Amsterdam)": "Europa (Amsterdam)",
"Custom Endpoint": "Aangepast eindpunt",
"\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated ": "\n Om je API-referenties te verkrijgen:\n\n 1. Meld je aan voor een gratis Browserless account op https://www. rowserless.io\n 2. Navigeer naar uw dashboard\n 3. Vind uw API Key/Token in de accountinstellingen\n 4. Kies uw regionale eindpunt voor optimale prestaties\n\n regionale eindpunten:\n • US West (SFO): https://production-sfo. rowserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europa (Amsterdam): https://production-ams. rowserless.io\n\n Voor custom/dedicated instanties, selecteer \"Aangepast\" en voer uw specifieke eindpunt URL in.\n ",
"Capture Screenshot": "Schermafbeelding maken",
"Generate PDF": "PDF-bestand genereren",
"Scrape URL": "Scrape URL",
"Run BQL Query": "BQL-query uitvoeren",
"Get Website Performance": "Websiteprestaties verkrijgen",
"Take a screenshot of a web page": "Maak een schermafbeelding van een webpagina",
"Convert a web page to PDF": "Converteer een webpagina naar PDF",
"Extract content from a web page": "Inhoud uit een webpagina halen",
"Execute Browser Query Language (BQL) GraphQL-based queries for advanced browser automation": "Voer Browser Query Language (BQL) GraphQL gebaseerde query's uit voor geavanceerde browser automatisering",
"Analyze website performance metrics using Lighthouse": "Analyseer prestatiestatistieken van websites met Lighthouse",
"URL": "URL",
"Image Type": "Type afbeelding",
"Quality": "Kwaliteit",
"Full Page": "Volledige pagina",
"Viewport Width": "Weergave breedte",
"Viewport Height": "Viewport hoogte",
"Wait for Selector": "Wacht op selector",
"Delay (ms)": "Vertraging (ms)",
"Omit Background": "Achtergrond laten weg",
"Clip X Position": "Clip X-positie",
"Clip Y Position": "Clip Y Position",
"Clip Width": "Clip Width",
"Clip Height": "Clip hoogte",
"HTML Content": "HTML inhoud",
"Paper Format": "Papieren formaat",
"Landscape": "Liggend",
"Print Background": "Achtergrond afdrukken",
"Top Margin": "Top marge",
"Right Margin": "Rechter marge",
"Bottom Margin": "Onderste marge",
"Left Margin": "Linker marge",
"Header Template": "Koptekst sjabloon",
"Footer Template": "Voettekst sjabloon",
"Display Header/Footer": "Kop- en voettekst weergeven",
"Scale": "Schaal",
"Wait for Selector Timeout": "Wachten op Selector Timeout",
"Wait for Selector Visible": "Wacht op zichtbaar selector",
"Wait for Selector Hidden": "Wacht op de selector verborgen",
"Prefer CSS Page Size": "Prefer CSS Page Size",
"Page Ranges": "Pagina Bereiken",
"Custom Width": "Aangepaste breedte",
"Custom Height": "Aangepaste hoogte",
"Tagged PDF": "Getagde PDF",
"Generate Outline": "Genereer omlijning",
"Timeout (ms)": "Time-out (ms)",
"Wait for Function": "Wachten op functie",
"Wait for Function Polling": "Wachten op Functie Polling",
"Wait for Function Timeout": "Wachten op Functie Time-out",
"User Agent": "User Agent",
"Wait Timeout (ms)": "Wacht time-out (ms)",
"Best Attempt": "Beste poging",
"Elements to Extract": "Te extraheren elementen",
"Wait for Event": "Wachten op gebeurtenis",
"Wait for Event Timeout": "Wachten op Evenement Time-out",
"Debug Console": "Debug Console",
"Debug Cookies": "Debug Cookies",
"Debug Network": "Foutopsporing netwerk",
"Cookies": "Koekjes",
"Wait Until": "Wacht tot",
"BQL Query": "BQL query",
"Query Variables": "Query variabelen",
"Operation Name": "Operatie Naam",
"Stealth Mode": "Stealth Modus",
"Headless Mode": "Hoofdloze modus",
"Human-like Behavior": "Menselijk achtig gedrag",
"Proxy Type": "Proxy Type",
"Proxy Country": "Proxy Land",
"Sticky Proxy": "Vasthoudende Proxy",
"Block Ads": "Advertenties blokkeren",
"Block Consent Modals": "Toestemming Modus blokkeren",
"Record Session": "Neem een sessie op",
"Slow Motion (ms)": "Langzame beweging (ms)",
"Ignore HTTPS Errors": "Negeer HTTPS fouten",
"Performance Categories": "Categorieën Prestaties",
"Device Type": "Type apparaat",
"Network Throttling": "Netwerk Gegrottling",
"Only Category Scores": "Alleen categoriescores",
"Locale": "Lokalisatie",
"Emulate Media Type": "Mediatype emuleren",
"Performance Budgets": "Prestaties budgetten",
"The URL of the page to capture": "De URL van de pagina om op te nemen",
"Format of the screenshot image": "Formaat van de schermafbeelding",
"Image quality (0-100, only for JPEG)": "Afbeeldingskwaliteit (0-100, alleen voor JPEG)",
"Capture the full scrollable page": "Sla de volledige scrollbare pagina op",
"Width of the browser viewport in pixels": "Breedte van de browserviewport in pixels",
"Height of the browser viewport in pixels": "Hoogte van de browserviewport in pixels",
"CSS selector to wait for before taking screenshot": "CSS-selector die wacht voordat een screenshot wordt gemaakt",
"Delay in milliseconds before taking screenshot": "Vertraging in milliseconden voor het maken van screenshot",
"Hide default white background for transparent screenshots": "Verberg standaard witte achtergrond voor transparante schermafbeeldingen",
"X coordinate of the top-left corner for clipping": "X-coördinaat van de linker bovenhoek voor knippen",
"Y coordinate of the top-left corner for clipping": "Y-coördinaat van de linker bovenhoek voor knippen",
"Width of the clipping area": "Breedte van het knipgebied",
"Height of the clipping area": "Hoogte van het knipgebied",
"The URL of the page to convert to PDF": "De URL van de pagina om te converteren naar PDF",
"HTML content to render as PDF (alternative to URL)": "HTML-inhoud om weer te geven als PDF (alternatief voor URL)",
"Paper format for the PDF": "Papieren formaat voor de PDF",
"Use landscape orientation": "Landschap oriëntatie gebruiken",
"Include background graphics": "Gebruik achtergrondgrafische gegevens",
"Top margin (e.g., \"10mm\", \"0.4in\")": "Hoogste marge (bijv. \"10mm\", \"0.4in\")",
"Right margin (e.g., \"10mm\", \"0.4in\")": "Rechter marge (bijv. \"10mm\", \"0.4in\")",
"Bottom margin (e.g., \"10mm\", \"0.4in\")": "Onderste marge (bijv. \"10mm\", \"0.4in\")",
"Left margin (e.g., \"10mm\", \"0.4in\")": "Linker marge (bijv. \"10mm\", \"0.4in\")",
"HTML template for the print header": "HTML template voor de print header",
"HTML template for the print footer": "HTML template voor de print voettekst",
"Display header and footer": "Kop- en voettekst weergeven",
"Scale of the webpage rendering (0.1 - 2.0)": "Schaal van de webpagina weergave (0.1 - 2.0)",
"CSS selector to wait for before generating PDF": "CSS-selector die wacht voor het genereren van PDF",
"Timeout in milliseconds for waiting for selector": "Time-out in milliseconden tijdens het wachten op selector",
"Wait for selector to be visible": "Wacht tot de selector zichtbaar is",
"Wait for selector to be hidden": "Wacht tot de selector verborgen is",
"Give any CSS @page size declared in the page priority over format": "Geef elke grootte van de @pagina die aangegeven wordt in de pagina prioriteit boven formaat",
"Paper ranges to print, e.g. \"1-5, 8, 11-13\"": "Papieren bereiken om af te drukken, bijvoorbeeld \"1-5, 8, 11-13\"",
"Custom width of paper (e.g., \"8.5in\", \"210mm\")": "Aangepaste breedte van papier (bijv. \"8.5in\", \"210mm\")",
"Custom height of paper (e.g., \"11in\", \"297mm\")": "Aangepaste hoogte van papier (bijv. \"11in\", \"297mm\")",
"Hide default white background and allow transparent PDFs": "Verberg standaard witte achtergrond en sta transparante PDF's toe",
"Generate tagged (accessible) PDF": "Genereer getagde (toegankelijk) PDF",
"Generate document outline": "Genereer document omlijning",
"Maximum time to wait for the page to load": "Maximale wachttijd tot de pagina geladen wordt",
"JavaScript function to wait for before generating PDF": "JavaScript-functie wacht voor het genereren van PDF",
"Polling interval for wait function (\"raf\", \"mutation\", or number in ms)": "Polling interval voor wacht-functie (\"raf\", \"mutatie\", of getal in ms)",
"Timeout in milliseconds for wait function (0 to disable)": "Time-out in milliseconden voor wachtfunctie (0 om uit te schakelen)",
"Custom user agent string to use for the request": "Aangepaste user agent string om te gebruiken voor het verzoek",
"Timeout in milliseconds to wait before generating PDF": "Time-out in milliseconden te wachten voordat PDF wordt gegenereerd",
"Attempt to proceed when awaited events fail or timeout": "Poging om verder te gaan wanneer wachtende gebeurtenissen mislukken of timeout",
"The URL of the page to scrape": "De URL van de pagina om te scrape",
"CSS selectors for elements to extract": "CSS-selectors voor elementen om uit te pakken",
"CSS selector to wait for before scraping": "CSS-selector die wacht voor het scrapen",
"Timeout in milliseconds to wait before scraping": "Time-out in milliseconden te wachten voordat scraping",
"Event name to wait for before scraping": "Event naam te wachten voordat u scrapt",
"Timeout in milliseconds for wait event": "Time-out in milliseconden bij wacht-gebeurtenis",
"Include console logs in debug output": "Console logs opnemen in debug uitvoer",
"Include cookies in debug output": "Cookies opnemen in debug uitvoer",
"Include network requests in debug output": "Netwerkverzoeken opnemen in debug output",
"Custom user agent string": "Aangepaste user agent string",
"Cookies to set before scraping": "Koekjes om te zetten voor scraping",
"When to consider navigation complete": "Wanneer te overwegen navigatie voltooid",
"JavaScript function to wait for before scraping (should return true when ready)": "JavaScript functie waarop moet worden gewacht voor het scrapen (moet waar zijn wanneer klaar)",
"Browser viewport width in pixels": "Browser viewport breedte in pixels",
"Browser viewport height in pixels": "Browser viewport hoogte in pixels",
"GraphQL-based BQL query for browser automation. Example: mutation { goto(url: \"https://example.com\") { status } }": "GraphQL-based BQL query voor browser automatisering. Voorbeeld: mutation { goto(url: \"https://example.com\") { status }}",
"Variables to pass to the BQL query (JSON object)": "Variabelen om door te geven aan de BQL query (JSON object)",
"Name of the GraphQL operation to execute": "Naam van de te uitvoeren GraphQL bewerking",
"Maximum execution time in milliseconds": "Maximale uitvoeringstijd in milliseconden",
"Enable stealth mode for bot detection bypass": "Schakel stealth modus in voor bot detectie bypass",
"Run browser in headless mode (set to false for GUI)": "Start browser in headless mode (ingesteld op 'onwaar' voor GUI)",
"Enable human-like mouse movement, typing, and delays": "Mens-achtige muisbeweging, typen en vertragingen inschakelen",
"Type of proxy to use": "Type proxy voor gebruik",
"Country code for residential proxy (e.g., us, gb, de)": "Landcode voor residentiële proxy (bijv. us, gb, de)",
"Maintain same proxy IP across session": "Handhaaf dezelfde proxy IP tijdens sessie",
"Enable ad blocker (uBlock Origin)": "ad blocker inschakelen (uBlock Origin)",
"Automatically block/dismiss cookie consent banners": "Automatisch banners voor cookietoestemming blokkeren/uitschakelen",
"Enable session recording for debugging": "Sessie opname inschakelen voor foutopsporing",
"Add delays between browser actions in milliseconds": "Vertragingen tussen browseracties in milliseconden toevoegen",
"Ignore HTTPS certificate errors during navigation": "Negeer HTTPS certificaatfouten tijdens navigatie",
"Browser viewport width": "Browser viewport width",
"Browser viewport height": "Browser viewport hoogte",
"Cookies to set before executing BQL query": "Cookies om in te stellen voordat BQL-query wordt uitgevoerd",
"The URL of the website to analyze": "De URL van de website om te analyseren",
"Select which performance categories to analyze (performance, accessibility, best-practices, seo, pwa)": "Selecteer welke prestatiecategorieën moeten worden geanalyseerd (prestaties, toegankelijkheid, beste praktijken, seo pwa)",
"Device type for performance analysis": "Type apparaat voor prestatieanalyse",
"Network throttling simulation": "Netwerk beperking simulatie",
"Return only category scores without detailed audit results": "Retourneer alleen categoriescores zonder gedetailleerde auditresultaten",
"Locale for the analysis (e.g., en-US, de-DE)": "Lokalisatie voor de analyse (bijv. en-US, de-DE)",
"Maximum time to wait for the analysis to complete": "Maximale wachttijd tot de analyse is voltooid",
"CSS selector to wait for before running performance analysis": "CSS-selector die wacht voor het uitvoeren van prestatieanalyse",
"Emulate CSS media type": "CSS-mediatype emuleren",
"Lighthouse performance budgets for resource sizes": "Lighthouse prestatiebudgetten voor bronnengrootte",
"Enable ad blocker during performance analysis": "Schakel ad blocker in tijdens prestatieanalyse",
"PNG": "PNG",
"JPEG": "JPEG",
"A0": "A0",
"A1": "A1",
"A2": "A2",
"A3": "A3",
"A4": "A4",
"A5": "A5",
"A6": "A6",
"Letter": "Brief",
"Legal": "Juridisch",
"Ledger": "Grootboek",
"Tabloid": "Tabloïd",
"Load Event": "Gebeurtenis laden",
"DOM Content Loaded": "DOM-inhoud geladen",
"Network Idle 0": "Netwerk Idle 0",
"Network Idle 2": "Netwerk Idle 2",
"Residential": "Particulier",
"None": "geen",
"Desktop": "Startscherm",
"Mobile": "Mobiel",
"No Throttling": "Geen Throttling",
"Slow 4G": "Langzame 4G",
"Regular 4G": "Normale 4G",
"Fast 4G": "Fast 4G",
"Screen": "Scherm",
"Print": "Afdrukken"
}

View File

@@ -0,0 +1,209 @@
{
"Browserless is a headless browser automation tool that allows you to scrape websites, take screenshots, and more.": "Navegador sem cabeça é uma ferramenta de automação de navegador que permite que você scrape sites, faça capturas de tela e muito mais.",
"API Token": "API Token",
"Region": "Região",
"Custom Base URL": "URL Base personalizada",
"Your Browserless API token (found in your dashboard)": "Seu token API de Browserless (encontrado no seu painel)",
"Choose the regional endpoint closest to you for optimal performance": "Escolha o endpoint regional mais próximo de você para um desempenho ideal",
"Enter your custom Browserless endpoint URL": "Digite sua URL de endpoint personalizada para navegador",
"US West (San Francisco)": "Oeste dos EUA (San Francisco)",
"Europe UK (London)": "Europe UK (Londres)",
"Europe (Amsterdam)": "Europa (Amesterdão)",
"Custom Endpoint": "Endpoint personalizado",
"\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated ": "\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated instances, select \"Custom\" and enter your specific endpoint URL.\n ",
"Capture Screenshot": "Capturar tela",
"Generate PDF": "Gerar PDF",
"Scrape URL": "URL Scrape",
"Run BQL Query": "Executar consulta BQL",
"Get Website Performance": "Obter Desempenho do Site",
"Take a screenshot of a web page": "Tire uma captura de tela de uma página da web",
"Convert a web page to PDF": "Converter uma página da web para PDF",
"Extract content from a web page": "Extrair conteúdo de uma página da web",
"Execute Browser Query Language (BQL) GraphQL-based queries for advanced browser automation": "Executar Idioma de Consulta do Navegador (BQL) consultas baseadas em GraphQL para automação avançada do navegador",
"Analyze website performance metrics using Lighthouse": "Analisar métricas de desempenho de sites usando Farol",
"URL": "URL:",
"Image Type": "Tipo de imagem",
"Quality": "Qualidade",
"Full Page": "Página inteira",
"Viewport Width": "Largura da vista",
"Viewport Height": "Altura da vista",
"Wait for Selector": "Aguardar o Seletor",
"Delay (ms)": "Atraso (ms)",
"Omit Background": "Omitir fundo",
"Clip X Position": "Posição X do Clipe",
"Clip Y Position": "Clip Y Position",
"Clip Width": "Clip Width",
"Clip Height": "Altura do Clipe",
"HTML Content": "Conteúdo HTML",
"Paper Format": "Formato em papel",
"Landscape": "Paisagem",
"Print Background": "Fundo de Impressão",
"Top Margin": "Margem superior",
"Right Margin": "Margem Direita",
"Bottom Margin": "Margem Inferior",
"Left Margin": "Margem Esquerda",
"Header Template": "Modelo de cabeçalho",
"Footer Template": "Modelo de Rodapé",
"Display Header/Footer": "Mostrar Cabeçalho/Rodapé",
"Scale": "Escala",
"Wait for Selector Timeout": "Esperar pelo tempo do Seletor",
"Wait for Selector Visible": "Esperar pelo Seletor Visível",
"Wait for Selector Hidden": "Esperar pelo Seletor Escondido",
"Prefer CSS Page Size": "Prefer CSS Page Size",
"Page Ranges": "Intervalos de Página",
"Custom Width": "Largura personalizada",
"Custom Height": "Personalizar altura",
"Tagged PDF": "PDF marcado",
"Generate Outline": "Gerar Contorno",
"Timeout (ms)": "Tempo limite (ms)",
"Wait for Function": "Esperar por função",
"Wait for Function Polling": "Esperando por Enquete de Função",
"Wait for Function Timeout": "Esperar por Tempo de Função",
"User Agent": "Agente do usuário",
"Wait Timeout (ms)": "Tempo limite de espera (ms)",
"Best Attempt": "Melhor tentativa",
"Elements to Extract": "Elementos para Extrair",
"Wait for Event": "Esperar Evento",
"Wait for Event Timeout": "Esperar por tempo limite do evento",
"Debug Console": "Debug Console",
"Debug Cookies": "Depurar Cookies",
"Debug Network": "Depurar Rede",
"Cookies": "Biscoitos",
"Wait Until": "Aguardar até",
"BQL Query": "Consulta BQL",
"Query Variables": "Consultar variáveis",
"Operation Name": "Nome da Operação",
"Stealth Mode": "Modo furtivo",
"Headless Mode": "Modo Sem Cabeça",
"Human-like Behavior": "Comportamento como humano",
"Proxy Type": "Tipo de proxy",
"Proxy Country": "País do Proxy",
"Sticky Proxy": "Proxy Fixo",
"Block Ads": "Bloquear anúncios",
"Block Consent Modals": "Bloquear Módulos de Consentimento",
"Record Session": "Gravar Sessão",
"Slow Motion (ms)": "Câmera lenta (ms)",
"Ignore HTTPS Errors": "Ignorar erros HTTPS",
"Performance Categories": "Categorias de Desempenho",
"Device Type": "Tipo de dispositivo",
"Network Throttling": "Limite de Rede",
"Only Category Scores": "Somente pontuações de categoria",
"Locale": "Localidade",
"Emulate Media Type": "Emular tipo de mídia",
"Performance Budgets": "Orçamentos de Desempenho",
"The URL of the page to capture": "A URL da página a ser capturada",
"Format of the screenshot image": "Formato da imagem da tela",
"Image quality (0-100, only for JPEG)": "Qualidade de imagem (0-100, somente para JPEG)",
"Capture the full scrollable page": "Capturar a página completa",
"Width of the browser viewport in pixels": "Largura da visualização do navegador em pixels",
"Height of the browser viewport in pixels": "Altura da visualização do navegador em pixels",
"CSS selector to wait for before taking screenshot": "Seletor CSS a esperar antes de capturar a tela",
"Delay in milliseconds before taking screenshot": "Atraso em milissegundos antes de capturar a tela",
"Hide default white background for transparent screenshots": "Ocultar fundo padrão branco para capturas de tela transparentes",
"X coordinate of the top-left corner for clipping": "Coordenada X do canto superior esquerdo para cortar",
"Y coordinate of the top-left corner for clipping": "Coordenada Y do canto superior esquerdo para corte",
"Width of the clipping area": "Largura da área de recorte",
"Height of the clipping area": "Altura da área de clipping",
"The URL of the page to convert to PDF": "A URL da página a ser convertida em PDF",
"HTML content to render as PDF (alternative to URL)": "Conteúdo HTML para renderizar como PDF (alternativa à URL)",
"Paper format for the PDF": "Formato de papel para PDF",
"Use landscape orientation": "Usar orientação paisagem",
"Include background graphics": "Incluir gráficos em segundo plano",
"Top margin (e.g., \"10mm\", \"0.4in\")": "Margem superior (ex.: \"10mm\", \"0.4in\")",
"Right margin (e.g., \"10mm\", \"0.4in\")": "Margem direita (ex.: \"10mm\", \"0.4in\")",
"Bottom margin (e.g., \"10mm\", \"0.4in\")": "Margem inferior (ex.: \"10mm\", \"0.4in\")",
"Left margin (e.g., \"10mm\", \"0.4in\")": "Margem esquerda (ex.: \"10mm\", \"0.4in\")",
"HTML template for the print header": "Modelo HTML para o cabeçalho de impressão",
"HTML template for the print footer": "Modelo HTML para o rodapé de impressão",
"Display header and footer": "Exibir cabeçalho e rodapé",
"Scale of the webpage rendering (0.1 - 2.0)": "Escala da renderização da página web (0.1 - 2.0)",
"CSS selector to wait for before generating PDF": "Seletor CSS a esperar antes de gerar PDF",
"Timeout in milliseconds for waiting for selector": "Tempo limite em milissegundos para espera por seletor",
"Wait for selector to be visible": "Espere o seletor ser visível",
"Wait for selector to be hidden": "Espere o seletor ser escondido",
"Give any CSS @page size declared in the page priority over format": "Dar a qualquer CSS @page tamanho declarado no formato de prioridade da página",
"Paper ranges to print, e.g. \"1-5, 8, 11-13\"": "Intervalos de papel para imprimir, por exemplo, \"1-5, 8, 11-13\"",
"Custom width of paper (e.g., \"8.5in\", \"210mm\")": "Largura personalizada de papel (por exemplo, \"8.5in\", \"210mm\")",
"Custom height of paper (e.g., \"11in\", \"297mm\")": "Altura personalizada de papel (por exemplo, \"11in\", \"297mm\")",
"Hide default white background and allow transparent PDFs": "Oculte o fundo branco padrão e permita PDFs transparentes",
"Generate tagged (accessible) PDF": "Gerar PDF (acessível) com tags",
"Generate document outline": "Gerar contorno do documento",
"Maximum time to wait for the page to load": "Tempo máximo de espera para a página carregar",
"JavaScript function to wait for before generating PDF": "Função JavaScript para esperar antes de gerar PDF",
"Polling interval for wait function (\"raf\", \"mutation\", or number in ms)": "Intervalo de consulta da função de espera (\"raf\", \"mutação\", ou número em ms)",
"Timeout in milliseconds for wait function (0 to disable)": "Tempo limite em milissegundos para a função de espera (0 para desativar)",
"Custom user agent string to use for the request": "String de agente de usuário personalizada para usar para a requisição",
"Timeout in milliseconds to wait before generating PDF": "Tempo limite em milissegundos para esperar antes de gerar PDF",
"Attempt to proceed when awaited events fail or timeout": "Tentativa de prosseguir quando eventos esperados falharem ou tempo limite",
"The URL of the page to scrape": "A URL da página para scrape",
"CSS selectors for elements to extract": "Seletores CSS para elementos a extrair",
"CSS selector to wait for before scraping": "Seletor CSS a esperar antes da scraping",
"Timeout in milliseconds to wait before scraping": "Tempo limite em milissegundos para esperar antes de scraping",
"Event name to wait for before scraping": "Nome do evento a esperar antes de scraping",
"Timeout in milliseconds for wait event": "Tempo limite em milissegundos para o evento de espera",
"Include console logs in debug output": "Incluir logs do console na saída de depuração",
"Include cookies in debug output": "Incluir cookies no saída de depuração",
"Include network requests in debug output": "Incluir solicitações de rede na saída de depuração",
"Custom user agent string": "Personalizar seqüência de agentes do usuário",
"Cookies to set before scraping": "Cookies a serem definidos antes do scraping",
"When to consider navigation complete": "Quando considerar a navegação concluída",
"JavaScript function to wait for before scraping (should return true when ready)": "Função JavaScript a esperar antes da scraping (deve retornar verdadeiro quando pronto)",
"Browser viewport width in pixels": "Largura de visualização do navegador em pixels",
"Browser viewport height in pixels": "Visualização da altura do navegador em pixels",
"GraphQL-based BQL query for browser automation. Example: mutation { goto(url: \"https://example.com\") { status } }": "Consulta BQL baseada em GraphQL para automação do navegador. Exemplo: mutação { goto(url: \"https://example.com\") { status }}",
"Variables to pass to the BQL query (JSON object)": "Variáveis para passar para a consulta BQL (objeto JSON)",
"Name of the GraphQL operation to execute": "Nome da operação GraphQL a executar",
"Maximum execution time in milliseconds": "Tempo máximo de execução em milissegundos",
"Enable stealth mode for bot detection bypass": "Ativar modo furtivo para a detecção de robôs",
"Run browser in headless mode (set to false for GUI)": "Executar navegador em modo não-interativo (definido como falso para GUI)",
"Enable human-like mouse movement, typing, and delays": "Ativar movimento do mouse, digitação e atrasos",
"Type of proxy to use": "Tipo de proxy a usar",
"Country code for residential proxy (e.g., us, gb, de)": "Código do país para proxy residencial (por exemplo, us, gb, de)",
"Maintain same proxy IP across session": "Manter o mesmo IP de proxy através da sessão",
"Enable ad blocker (uBlock Origin)": "Ativar o bloqueador de anúncios (uBlock Origin)",
"Automatically block/dismiss cookie consent banners": "Bloquear / dispensar automaticamente cookies consentimento banners",
"Enable session recording for debugging": "Habilitar a gravação de sessão para depuração",
"Add delays between browser actions in milliseconds": "Adicionar atrasos entre ações do navegador em milissegundos",
"Ignore HTTPS certificate errors during navigation": "Ignorar erros de certificados HTTPS durante a navegação",
"Browser viewport width": "Browser viewport width",
"Browser viewport height": "Altura da visualização do navegador",
"Cookies to set before executing BQL query": "Cookies a serem definidos antes de executar uma consulta BQL",
"The URL of the website to analyze": "A URL do site para analisar",
"Select which performance categories to analyze (performance, accessibility, best-practices, seo, pwa)": "Selecione quais categorias de desempenho serão analisadas (desempenho, acessibilidade, melhores práticas, seo, pwa)",
"Device type for performance analysis": "Tipo de dispositivo para análise de desempenho",
"Network throttling simulation": "Simulação de redução de rede",
"Return only category scores without detailed audit results": "Devolver apenas as pontuações das categorias sem resultados detalhados de auditoria",
"Locale for the analysis (e.g., en-US, de-DE)": "Idioma para a análise (por exemplo, en-US, de-DE)",
"Maximum time to wait for the analysis to complete": "Tempo máximo de espera para a análise concluir",
"CSS selector to wait for before running performance analysis": "Seletor de CSS a esperar antes de executar a análise de desempenho",
"Emulate CSS media type": "Emular o tipo de mídia CSS",
"Lighthouse performance budgets for resource sizes": "Farça orçamentos de desempenho para tamanhos de recursos",
"Enable ad blocker during performance analysis": "Ativar o bloqueador de anúncios durante a análise de desempenho",
"PNG": "PNG",
"JPEG": "JPEG",
"A0": "A0",
"A1": "A1",
"A2": "A2",
"A3": "A3",
"A4": "A4",
"A5": "A5",
"A6": "A6",
"Letter": "Letra",
"Legal": "Informações",
"Ledger": "Contabilidade",
"Tabloid": "Tablóide",
"Load Event": "Carregar Evento",
"DOM Content Loaded": "Conteúdo do DOM carregado",
"Network Idle 0": "Rede ociosa 0",
"Network Idle 2": "Rede ociosa 2",
"Residential": "Residencial",
"None": "Nenhuma",
"Desktop": "Computadores",
"Mobile": "Celular",
"No Throttling": "Sem sufocamento",
"Slow 4G": "4G lento",
"Regular 4G": "4G normal",
"Fast 4G": "Fast 4G",
"Screen": "Tela",
"Print": "Impressão"
}

View File

@@ -0,0 +1,209 @@
{
"Browserless is a headless browser automation tool that allows you to scrape websites, take screenshots, and more.": "Browserless is a headless browser automation tool that allows you to scrape websites, take screenshots, and more.",
"API Token": "API Token",
"Region": "Region",
"Custom Base URL": "Custom Base URL",
"Your Browserless API token (found in your dashboard)": "Your Browserless API token (found in your dashboard)",
"Choose the regional endpoint closest to you for optimal performance": "Choose the regional endpoint closest to you for optimal performance",
"Enter your custom Browserless endpoint URL": "Enter your custom Browserless endpoint URL",
"US West (San Francisco)": "US West (San Francisco)",
"Europe UK (London)": "Europe UK (London)",
"Europe (Amsterdam)": "Europe (Amsterdam)",
"Custom Endpoint": "Custom Endpoint",
"\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated ": "\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated instances, select \"Custom\" and enter your specific endpoint URL.\n ",
"Capture Screenshot": "Capture Screenshot",
"Generate PDF": "Generate PDF",
"Scrape URL": "Scrape URL",
"Run BQL Query": "Run BQL Query",
"Get Website Performance": "Get Website Performance",
"Take a screenshot of a web page": "Take a screenshot of a web page",
"Convert a web page to PDF": "Convert a web page to PDF",
"Extract content from a web page": "Extract content from a web page",
"Execute Browser Query Language (BQL) GraphQL-based queries for advanced browser automation": "Execute Browser Query Language (BQL) GraphQL-based queries for advanced browser automation",
"Analyze website performance metrics using Lighthouse": "Analyze website performance metrics using Lighthouse",
"URL": "URL",
"Image Type": "Image Type",
"Quality": "Quality",
"Full Page": "Full Page",
"Viewport Width": "Viewport Width",
"Viewport Height": "Viewport Height",
"Wait for Selector": "Wait for Selector",
"Delay (ms)": "Delay (ms)",
"Omit Background": "Omit Background",
"Clip X Position": "Clip X Position",
"Clip Y Position": "Clip Y Position",
"Clip Width": "Clip Width",
"Clip Height": "Clip Height",
"HTML Content": "HTML Content",
"Paper Format": "Paper Format",
"Landscape": "Landscape",
"Print Background": "Print Background",
"Top Margin": "Top Margin",
"Right Margin": "Right Margin",
"Bottom Margin": "Bottom Margin",
"Left Margin": "Left Margin",
"Header Template": "Header Template",
"Footer Template": "Footer Template",
"Display Header/Footer": "Display Header/Footer",
"Scale": "Scale",
"Wait for Selector Timeout": "Wait for Selector Timeout",
"Wait for Selector Visible": "Wait for Selector Visible",
"Wait for Selector Hidden": "Wait for Selector Hidden",
"Prefer CSS Page Size": "Prefer CSS Page Size",
"Page Ranges": "Page Ranges",
"Custom Width": "Custom Width",
"Custom Height": "Custom Height",
"Tagged PDF": "Tagged PDF",
"Generate Outline": "Generate Outline",
"Timeout (ms)": "Timeout (ms)",
"Wait for Function": "Wait for Function",
"Wait for Function Polling": "Wait for Function Polling",
"Wait for Function Timeout": "Wait for Function Timeout",
"User Agent": "User Agent",
"Wait Timeout (ms)": "Wait Timeout (ms)",
"Best Attempt": "Best Attempt",
"Elements to Extract": "Elements to Extract",
"Wait for Event": "Wait for Event",
"Wait for Event Timeout": "Wait for Event Timeout",
"Debug Console": "Debug Console",
"Debug Cookies": "Debug Cookies",
"Debug Network": "Debug Network",
"Cookies": "Cookies",
"Wait Until": "Wait Until",
"BQL Query": "BQL Query",
"Query Variables": "Query Variables",
"Operation Name": "Operation Name",
"Stealth Mode": "Stealth Mode",
"Headless Mode": "Headless Mode",
"Human-like Behavior": "Human-like Behavior",
"Proxy Type": "Proxy Type",
"Proxy Country": "Proxy Country",
"Sticky Proxy": "Sticky Proxy",
"Block Ads": "Block Ads",
"Block Consent Modals": "Block Consent Modals",
"Record Session": "Record Session",
"Slow Motion (ms)": "Slow Motion (ms)",
"Ignore HTTPS Errors": "Ignore HTTPS Errors",
"Performance Categories": "Performance Categories",
"Device Type": "Device Type",
"Network Throttling": "Network Throttling",
"Only Category Scores": "Only Category Scores",
"Locale": "Locale",
"Emulate Media Type": "Emulate Media Type",
"Performance Budgets": "Performance Budgets",
"The URL of the page to capture": "The URL of the page to capture",
"Format of the screenshot image": "Format of the screenshot image",
"Image quality (0-100, only for JPEG)": "Image quality (0-100, only for JPEG)",
"Capture the full scrollable page": "Capture the full scrollable page",
"Width of the browser viewport in pixels": "Width of the browser viewport in pixels",
"Height of the browser viewport in pixels": "Height of the browser viewport in pixels",
"CSS selector to wait for before taking screenshot": "CSS selector to wait for before taking screenshot",
"Delay in milliseconds before taking screenshot": "Delay in milliseconds before taking screenshot",
"Hide default white background for transparent screenshots": "Hide default white background for transparent screenshots",
"X coordinate of the top-left corner for clipping": "X coordinate of the top-left corner for clipping",
"Y coordinate of the top-left corner for clipping": "Y coordinate of the top-left corner for clipping",
"Width of the clipping area": "Width of the clipping area",
"Height of the clipping area": "Height of the clipping area",
"The URL of the page to convert to PDF": "The URL of the page to convert to PDF",
"HTML content to render as PDF (alternative to URL)": "HTML content to render as PDF (alternative to URL)",
"Paper format for the PDF": "Paper format for the PDF",
"Use landscape orientation": "Use landscape orientation",
"Include background graphics": "Include background graphics",
"Top margin (e.g., \"10mm\", \"0.4in\")": "Top margin (e.g., \"10mm\", \"0.4in\")",
"Right margin (e.g., \"10mm\", \"0.4in\")": "Right margin (e.g., \"10mm\", \"0.4in\")",
"Bottom margin (e.g., \"10mm\", \"0.4in\")": "Bottom margin (e.g., \"10mm\", \"0.4in\")",
"Left margin (e.g., \"10mm\", \"0.4in\")": "Left margin (e.g., \"10mm\", \"0.4in\")",
"HTML template for the print header": "HTML template for the print header",
"HTML template for the print footer": "HTML template for the print footer",
"Display header and footer": "Display header and footer",
"Scale of the webpage rendering (0.1 - 2.0)": "Scale of the webpage rendering (0.1 - 2.0)",
"CSS selector to wait for before generating PDF": "CSS selector to wait for before generating PDF",
"Timeout in milliseconds for waiting for selector": "Timeout in milliseconds for waiting for selector",
"Wait for selector to be visible": "Wait for selector to be visible",
"Wait for selector to be hidden": "Wait for selector to be hidden",
"Give any CSS @page size declared in the page priority over format": "Give any CSS @page size declared in the page priority over format",
"Paper ranges to print, e.g. \"1-5, 8, 11-13\"": "Paper ranges to print, e.g. \"1-5, 8, 11-13\"",
"Custom width of paper (e.g., \"8.5in\", \"210mm\")": "Custom width of paper (e.g., \"8.5in\", \"210mm\")",
"Custom height of paper (e.g., \"11in\", \"297mm\")": "Custom height of paper (e.g., \"11in\", \"297mm\")",
"Hide default white background and allow transparent PDFs": "Hide default white background and allow transparent PDFs",
"Generate tagged (accessible) PDF": "Generate tagged (accessible) PDF",
"Generate document outline": "Generate document outline",
"Maximum time to wait for the page to load": "Maximum time to wait for the page to load",
"JavaScript function to wait for before generating PDF": "JavaScript function to wait for before generating PDF",
"Polling interval for wait function (\"raf\", \"mutation\", or number in ms)": "Polling interval for wait function (\"raf\", \"mutation\", or number in ms)",
"Timeout in milliseconds for wait function (0 to disable)": "Timeout in milliseconds for wait function (0 to disable)",
"Custom user agent string to use for the request": "Custom user agent string to use for the request",
"Timeout in milliseconds to wait before generating PDF": "Timeout in milliseconds to wait before generating PDF",
"Attempt to proceed when awaited events fail or timeout": "Attempt to proceed when awaited events fail or timeout",
"The URL of the page to scrape": "The URL of the page to scrape",
"CSS selectors for elements to extract": "CSS selectors for elements to extract",
"CSS selector to wait for before scraping": "CSS selector to wait for before scraping",
"Timeout in milliseconds to wait before scraping": "Timeout in milliseconds to wait before scraping",
"Event name to wait for before scraping": "Event name to wait for before scraping",
"Timeout in milliseconds for wait event": "Timeout in milliseconds for wait event",
"Include console logs in debug output": "Include console logs in debug output",
"Include cookies in debug output": "Include cookies in debug output",
"Include network requests in debug output": "Include network requests in debug output",
"Custom user agent string": "Custom user agent string",
"Cookies to set before scraping": "Cookies to set before scraping",
"When to consider navigation complete": "When to consider navigation complete",
"JavaScript function to wait for before scraping (should return true when ready)": "JavaScript function to wait for before scraping (should return true when ready)",
"Browser viewport width in pixels": "Browser viewport width in pixels",
"Browser viewport height in pixels": "Browser viewport height in pixels",
"GraphQL-based BQL query for browser automation. Example: mutation { goto(url: \"https://example.com\") { status } }": "GraphQL-based BQL query for browser automation. Example: mutation { goto(url: \"https://example.com\") { status } }",
"Variables to pass to the BQL query (JSON object)": "Variables to pass to the BQL query (JSON object)",
"Name of the GraphQL operation to execute": "Name of the GraphQL operation to execute",
"Maximum execution time in milliseconds": "Maximum execution time in milliseconds",
"Enable stealth mode for bot detection bypass": "Enable stealth mode for bot detection bypass",
"Run browser in headless mode (set to false for GUI)": "Run browser in headless mode (set to false for GUI)",
"Enable human-like mouse movement, typing, and delays": "Enable human-like mouse movement, typing, and delays",
"Type of proxy to use": "Type of proxy to use",
"Country code for residential proxy (e.g., us, gb, de)": "Country code for residential proxy (e.g., us, gb, de)",
"Maintain same proxy IP across session": "Maintain same proxy IP across session",
"Enable ad blocker (uBlock Origin)": "Enable ad blocker (uBlock Origin)",
"Automatically block/dismiss cookie consent banners": "Automatically block/dismiss cookie consent banners",
"Enable session recording for debugging": "Enable session recording for debugging",
"Add delays between browser actions in milliseconds": "Add delays between browser actions in milliseconds",
"Ignore HTTPS certificate errors during navigation": "Ignore HTTPS certificate errors during navigation",
"Browser viewport width": "Browser viewport width",
"Browser viewport height": "Browser viewport height",
"Cookies to set before executing BQL query": "Cookies to set before executing BQL query",
"The URL of the website to analyze": "The URL of the website to analyze",
"Select which performance categories to analyze (performance, accessibility, best-practices, seo, pwa)": "Select which performance categories to analyze (performance, accessibility, best-practices, seo, pwa)",
"Device type for performance analysis": "Device type for performance analysis",
"Network throttling simulation": "Network throttling simulation",
"Return only category scores without detailed audit results": "Return only category scores without detailed audit results",
"Locale for the analysis (e.g., en-US, de-DE)": "Locale for the analysis (e.g., en-US, de-DE)",
"Maximum time to wait for the analysis to complete": "Maximum time to wait for the analysis to complete",
"CSS selector to wait for before running performance analysis": "CSS selector to wait for before running performance analysis",
"Emulate CSS media type": "Emulate CSS media type",
"Lighthouse performance budgets for resource sizes": "Lighthouse performance budgets for resource sizes",
"Enable ad blocker during performance analysis": "Enable ad blocker during performance analysis",
"PNG": "PNG",
"JPEG": "JPEG",
"A0": "A0",
"A1": "A1",
"A2": "A2",
"A3": "A3",
"A4": "A4",
"A5": "A5",
"A6": "A6",
"Letter": "Letter",
"Legal": "Legal",
"Ledger": "Ledger",
"Tabloid": "Tabloid",
"Load Event": "Load Event",
"DOM Content Loaded": "DOM Content Loaded",
"Network Idle 0": "Network Idle 0",
"Network Idle 2": "Network Idle 2",
"Residential": "Residential",
"None": "None",
"Desktop": "Desktop",
"Mobile": "Mobile",
"No Throttling": "No Throttling",
"Slow 4G": "Slow 4G",
"Regular 4G": "Regular 4G",
"Fast 4G": "Fast 4G",
"Screen": "Screen",
"Print": "Print"
}

View File

@@ -0,0 +1,209 @@
{
"Browserless is a headless browser automation tool that allows you to scrape websites, take screenshots, and more.": "Browserless is a headless browser automation tool that allows you to scrape websites, take screenshots, and more.",
"API Token": "API Token",
"Region": "Region",
"Custom Base URL": "Custom Base URL",
"Your Browserless API token (found in your dashboard)": "Your Browserless API token (found in your dashboard)",
"Choose the regional endpoint closest to you for optimal performance": "Choose the regional endpoint closest to you for optimal performance",
"Enter your custom Browserless endpoint URL": "Enter your custom Browserless endpoint URL",
"US West (San Francisco)": "US West (San Francisco)",
"Europe UK (London)": "Europe UK (London)",
"Europe (Amsterdam)": "Europe (Amsterdam)",
"Custom Endpoint": "Custom Endpoint",
"\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated ": "\n To obtain your API credentials:\n\n 1. Sign up for a free Browserless account at https://www.browserless.io\n 2. Navigate to your dashboard\n 3. Find your API Key/Token in the account settings\n 4. Choose your preferred regional endpoint for optimal performance\n\n Regional Endpoints:\n • US West (SFO): https://production-sfo.browserless.io\n • Europe UK (London): https://production-lon.browserless.io\n • Europe (Amsterdam): https://production-ams.browserless.io\n\n For custom/dedicated instances, select \"Custom\" and enter your specific endpoint URL.\n ",
"Capture Screenshot": "Capture Screenshot",
"Generate PDF": "Generate PDF",
"Scrape URL": "Scrape URL",
"Run BQL Query": "Run BQL Query",
"Get Website Performance": "Get Website Performance",
"Take a screenshot of a web page": "Take a screenshot of a web page",
"Convert a web page to PDF": "Convert a web page to PDF",
"Extract content from a web page": "Extract content from a web page",
"Execute Browser Query Language (BQL) GraphQL-based queries for advanced browser automation": "Execute Browser Query Language (BQL) GraphQL-based queries for advanced browser automation",
"Analyze website performance metrics using Lighthouse": "Analyze website performance metrics using Lighthouse",
"URL": "URL",
"Image Type": "Image Type",
"Quality": "Quality",
"Full Page": "Full Page",
"Viewport Width": "Viewport Width",
"Viewport Height": "Viewport Height",
"Wait for Selector": "Wait for Selector",
"Delay (ms)": "Delay (ms)",
"Omit Background": "Omit Background",
"Clip X Position": "Clip X Position",
"Clip Y Position": "Clip Y Position",
"Clip Width": "Clip Width",
"Clip Height": "Clip Height",
"HTML Content": "HTML Content",
"Paper Format": "Paper Format",
"Landscape": "Landscape",
"Print Background": "Print Background",
"Top Margin": "Top Margin",
"Right Margin": "Right Margin",
"Bottom Margin": "Bottom Margin",
"Left Margin": "Left Margin",
"Header Template": "Header Template",
"Footer Template": "Footer Template",
"Display Header/Footer": "Display Header/Footer",
"Scale": "Scale",
"Wait for Selector Timeout": "Wait for Selector Timeout",
"Wait for Selector Visible": "Wait for Selector Visible",
"Wait for Selector Hidden": "Wait for Selector Hidden",
"Prefer CSS Page Size": "Prefer CSS Page Size",
"Page Ranges": "Page Ranges",
"Custom Width": "Custom Width",
"Custom Height": "Custom Height",
"Tagged PDF": "Tagged PDF",
"Generate Outline": "Generate Outline",
"Timeout (ms)": "Timeout (ms)",
"Wait for Function": "Wait for Function",
"Wait for Function Polling": "Wait for Function Polling",
"Wait for Function Timeout": "Wait for Function Timeout",
"User Agent": "User Agent",
"Wait Timeout (ms)": "Wait Timeout (ms)",
"Best Attempt": "Best Attempt",
"Elements to Extract": "Elements to Extract",
"Wait for Event": "Wait for Event",
"Wait for Event Timeout": "Wait for Event Timeout",
"Debug Console": "Debug Console",
"Debug Cookies": "Debug Cookies",
"Debug Network": "Debug Network",
"Cookies": "Cookies",
"Wait Until": "Wait Until",
"BQL Query": "BQL Query",
"Query Variables": "Query Variables",
"Operation Name": "Operation Name",
"Stealth Mode": "Stealth Mode",
"Headless Mode": "Headless Mode",
"Human-like Behavior": "Human-like Behavior",
"Proxy Type": "Proxy Type",
"Proxy Country": "Proxy Country",
"Sticky Proxy": "Sticky Proxy",
"Block Ads": "Block Ads",
"Block Consent Modals": "Block Consent Modals",
"Record Session": "Record Session",
"Slow Motion (ms)": "Slow Motion (ms)",
"Ignore HTTPS Errors": "Ignore HTTPS Errors",
"Performance Categories": "Performance Categories",
"Device Type": "Device Type",
"Network Throttling": "Network Throttling",
"Only Category Scores": "Only Category Scores",
"Locale": "Locale",
"Emulate Media Type": "Emulate Media Type",
"Performance Budgets": "Performance Budgets",
"The URL of the page to capture": "The URL of the page to capture",
"Format of the screenshot image": "Format of the screenshot image",
"Image quality (0-100, only for JPEG)": "Image quality (0-100, only for JPEG)",
"Capture the full scrollable page": "Capture the full scrollable page",
"Width of the browser viewport in pixels": "Width of the browser viewport in pixels",
"Height of the browser viewport in pixels": "Height of the browser viewport in pixels",
"CSS selector to wait for before taking screenshot": "CSS selector to wait for before taking screenshot",
"Delay in milliseconds before taking screenshot": "Delay in milliseconds before taking screenshot",
"Hide default white background for transparent screenshots": "Hide default white background for transparent screenshots",
"X coordinate of the top-left corner for clipping": "X coordinate of the top-left corner for clipping",
"Y coordinate of the top-left corner for clipping": "Y coordinate of the top-left corner for clipping",
"Width of the clipping area": "Width of the clipping area",
"Height of the clipping area": "Height of the clipping area",
"The URL of the page to convert to PDF": "The URL of the page to convert to PDF",
"HTML content to render as PDF (alternative to URL)": "HTML content to render as PDF (alternative to URL)",
"Paper format for the PDF": "Paper format for the PDF",
"Use landscape orientation": "Use landscape orientation",
"Include background graphics": "Include background graphics",
"Top margin (e.g., \"10mm\", \"0.4in\")": "Top margin (e.g., \"10mm\", \"0.4in\")",
"Right margin (e.g., \"10mm\", \"0.4in\")": "Right margin (e.g., \"10mm\", \"0.4in\")",
"Bottom margin (e.g., \"10mm\", \"0.4in\")": "Bottom margin (e.g., \"10mm\", \"0.4in\")",
"Left margin (e.g., \"10mm\", \"0.4in\")": "Left margin (e.g., \"10mm\", \"0.4in\")",
"HTML template for the print header": "HTML template for the print header",
"HTML template for the print footer": "HTML template for the print footer",
"Display header and footer": "Display header and footer",
"Scale of the webpage rendering (0.1 - 2.0)": "Scale of the webpage rendering (0.1 - 2.0)",
"CSS selector to wait for before generating PDF": "CSS selector to wait for before generating PDF",
"Timeout in milliseconds for waiting for selector": "Timeout in milliseconds for waiting for selector",
"Wait for selector to be visible": "Wait for selector to be visible",
"Wait for selector to be hidden": "Wait for selector to be hidden",
"Give any CSS @page size declared in the page priority over format": "Give any CSS @page size declared in the page priority over format",
"Paper ranges to print, e.g. \"1-5, 8, 11-13\"": "Paper ranges to print, e.g. \"1-5, 8, 11-13\"",
"Custom width of paper (e.g., \"8.5in\", \"210mm\")": "Custom width of paper (e.g., \"8.5in\", \"210mm\")",
"Custom height of paper (e.g., \"11in\", \"297mm\")": "Custom height of paper (e.g., \"11in\", \"297mm\")",
"Hide default white background and allow transparent PDFs": "Hide default white background and allow transparent PDFs",
"Generate tagged (accessible) PDF": "Generate tagged (accessible) PDF",
"Generate document outline": "Generate document outline",
"Maximum time to wait for the page to load": "Maximum time to wait for the page to load",
"JavaScript function to wait for before generating PDF": "JavaScript function to wait for before generating PDF",
"Polling interval for wait function (\"raf\", \"mutation\", or number in ms)": "Polling interval for wait function (\"raf\", \"mutation\", or number in ms)",
"Timeout in milliseconds for wait function (0 to disable)": "Timeout in milliseconds for wait function (0 to disable)",
"Custom user agent string to use for the request": "Custom user agent string to use for the request",
"Timeout in milliseconds to wait before generating PDF": "Timeout in milliseconds to wait before generating PDF",
"Attempt to proceed when awaited events fail or timeout": "Attempt to proceed when awaited events fail or timeout",
"The URL of the page to scrape": "The URL of the page to scrape",
"CSS selectors for elements to extract": "CSS selectors for elements to extract",
"CSS selector to wait for before scraping": "CSS selector to wait for before scraping",
"Timeout in milliseconds to wait before scraping": "Timeout in milliseconds to wait before scraping",
"Event name to wait for before scraping": "Event name to wait for before scraping",
"Timeout in milliseconds for wait event": "Timeout in milliseconds for wait event",
"Include console logs in debug output": "Include console logs in debug output",
"Include cookies in debug output": "Include cookies in debug output",
"Include network requests in debug output": "Include network requests in debug output",
"Custom user agent string": "Custom user agent string",
"Cookies to set before scraping": "Cookies to set before scraping",
"When to consider navigation complete": "When to consider navigation complete",
"JavaScript function to wait for before scraping (should return true when ready)": "JavaScript function to wait for before scraping (should return true when ready)",
"Browser viewport width in pixels": "Browser viewport width in pixels",
"Browser viewport height in pixels": "Browser viewport height in pixels",
"GraphQL-based BQL query for browser automation. Example: mutation { goto(url: \"https://example.com\") { status } }": "GraphQL-based BQL query for browser automation. Example: mutation { goto(url: \"https://example.com\") { status } }",
"Variables to pass to the BQL query (JSON object)": "Variables to pass to the BQL query (JSON object)",
"Name of the GraphQL operation to execute": "Name of the GraphQL operation to execute",
"Maximum execution time in milliseconds": "Maximum execution time in milliseconds",
"Enable stealth mode for bot detection bypass": "Enable stealth mode for bot detection bypass",
"Run browser in headless mode (set to false for GUI)": "Run browser in headless mode (set to false for GUI)",
"Enable human-like mouse movement, typing, and delays": "Enable human-like mouse movement, typing, and delays",
"Type of proxy to use": "Type of proxy to use",
"Country code for residential proxy (e.g., us, gb, de)": "Country code for residential proxy (e.g., us, gb, de)",
"Maintain same proxy IP across session": "Maintain same proxy IP across session",
"Enable ad blocker (uBlock Origin)": "Enable ad blocker (uBlock Origin)",
"Automatically block/dismiss cookie consent banners": "Automatically block/dismiss cookie consent banners",
"Enable session recording for debugging": "Enable session recording for debugging",
"Add delays between browser actions in milliseconds": "Add delays between browser actions in milliseconds",
"Ignore HTTPS certificate errors during navigation": "Ignore HTTPS certificate errors during navigation",
"Browser viewport width": "Browser viewport width",
"Browser viewport height": "Browser viewport height",
"Cookies to set before executing BQL query": "Cookies to set before executing BQL query",
"The URL of the website to analyze": "The URL of the website to analyze",
"Select which performance categories to analyze (performance, accessibility, best-practices, seo, pwa)": "Select which performance categories to analyze (performance, accessibility, best-practices, seo, pwa)",
"Device type for performance analysis": "Device type for performance analysis",
"Network throttling simulation": "Network throttling simulation",
"Return only category scores without detailed audit results": "Return only category scores without detailed audit results",
"Locale for the analysis (e.g., en-US, de-DE)": "Locale for the analysis (e.g., en-US, de-DE)",
"Maximum time to wait for the analysis to complete": "Maximum time to wait for the analysis to complete",
"CSS selector to wait for before running performance analysis": "CSS selector to wait for before running performance analysis",
"Emulate CSS media type": "Emulate CSS media type",
"Lighthouse performance budgets for resource sizes": "Lighthouse performance budgets for resource sizes",
"Enable ad blocker during performance analysis": "Enable ad blocker during performance analysis",
"PNG": "PNG",
"JPEG": "JPEG",
"A0": "A0",
"A1": "A1",
"A2": "A2",
"A3": "A3",
"A4": "A4",
"A5": "A5",
"A6": "A6",
"Letter": "Letter",
"Legal": "Legal",
"Ledger": "Ledger",
"Tabloid": "Tabloid",
"Load Event": "Load Event",
"DOM Content Loaded": "DOM Content Loaded",
"Network Idle 0": "Network Idle 0",
"Network Idle 2": "Network Idle 2",
"Residential": "Residential",
"None": "无",
"Desktop": "Desktop",
"Mobile": "Mobile",
"No Throttling": "No Throttling",
"Slow 4G": "Slow 4G",
"Regular 4G": "Regular 4G",
"Fast 4G": "Fast 4G",
"Screen": "Screen",
"Print": "Print"
}

View File

@@ -0,0 +1,26 @@
import { createPiece } from '@activepieces/pieces-framework';
import { PieceCategory } from '@activepieces/shared';
import { browserlessAuth } from './lib/common/auth';
import { captureScreenshot } from './lib/actions/capture-screenshot';
import { generatePdf } from './lib/actions/generate-pdf';
import { scrapeUrl } from './lib/actions/scrape-url';
import { runBqlQuery } from './lib/actions/run-bql-query';
import { getWebsitePerformance } from './lib/actions/get-website-performance';
export const browserless = createPiece({
displayName: 'Browserless',
minimumSupportedRelease: '0.36.1',
logoUrl: 'https://cdn.activepieces.com/pieces/browserless.png',
categories: [PieceCategory.DEVELOPER_TOOLS],
description: 'Browserless is a headless browser automation tool that allows you to scrape websites, take screenshots, and more.',
authors: ['owuzo', 'onyedikachi-david'],
auth: browserlessAuth,
actions: [
captureScreenshot,
generatePdf,
scrapeUrl,
runBqlQuery,
getWebsitePerformance,
],
triggers: [],
});

View File

@@ -0,0 +1,174 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { HttpMethod } from '@activepieces/pieces-common';
import { browserlessAuth } from '../common/auth';
import { browserlessCommon, convertBinaryToBase64, isBinaryResponse } from '../common/client';
export const captureScreenshot = createAction({
name: 'capture_screenshot',
displayName: 'Capture Screenshot',
description: 'Take a screenshot of a web page',
auth: browserlessAuth,
props: {
url: Property.ShortText({
displayName: 'URL',
description: 'The URL of the page to capture',
required: true,
}),
imageType: Property.StaticDropdown({
displayName: 'Image Type',
description: 'Format of the screenshot image',
required: false,
defaultValue: 'png',
options: {
options: [
{ label: 'PNG', value: 'png' },
{ label: 'JPEG', value: 'jpeg' }
]
}
}),
quality: Property.Number({
displayName: 'Quality',
description: 'Image quality (0-100, only for JPEG)',
required: false,
}),
fullPage: Property.Checkbox({
displayName: 'Full Page',
description: 'Capture the full scrollable page',
required: false,
defaultValue: false,
}),
width: Property.Number({
displayName: 'Viewport Width',
description: 'Width of the browser viewport in pixels',
required: false,
}),
height: Property.Number({
displayName: 'Viewport Height',
description: 'Height of the browser viewport in pixels',
required: false,
}),
waitForSelector: Property.ShortText({
displayName: 'Wait for Selector',
description: 'CSS selector to wait for before taking screenshot',
required: false,
}),
delay: Property.Number({
displayName: 'Delay (ms)',
description: 'Delay in milliseconds before taking screenshot',
required: false,
}),
omitBackground: Property.Checkbox({
displayName: 'Omit Background',
description: 'Hide default white background for transparent screenshots',
required: false,
defaultValue: false,
}),
clipX: Property.Number({
displayName: 'Clip X Position',
description: 'X coordinate of the top-left corner for clipping',
required: false,
}),
clipY: Property.Number({
displayName: 'Clip Y Position',
description: 'Y coordinate of the top-left corner for clipping',
required: false,
}),
clipWidth: Property.Number({
displayName: 'Clip Width',
description: 'Width of the clipping area',
required: false,
}),
clipHeight: Property.Number({
displayName: 'Clip Height',
description: 'Height of the clipping area',
required: false,
}),
},
async run(context) {
const requestBody: any = {
url: context.propsValue.url,
options: {
type: context.propsValue.imageType || 'png',
fullPage: context.propsValue.fullPage || false,
}
};
if (context.propsValue.quality && context.propsValue.imageType === 'jpeg') {
requestBody.options.quality = context.propsValue.quality;
}
if (context.propsValue.width && context.propsValue.height) {
requestBody.viewport = {
width: context.propsValue.width,
height: context.propsValue.height,
};
}
if (context.propsValue.waitForSelector) {
requestBody.waitForSelector = {
selector: context.propsValue.waitForSelector,
};
}
if (context.propsValue.delay) {
requestBody.waitForTimeout = context.propsValue.delay;
}
if (context.propsValue.omitBackground) {
requestBody.options.omitBackground = context.propsValue.omitBackground;
}
if (context.propsValue.clipX !== undefined &&
context.propsValue.clipY !== undefined &&
context.propsValue.clipWidth !== undefined &&
context.propsValue.clipHeight !== undefined) {
requestBody.options.clip = {
x: context.propsValue.clipX,
y: context.propsValue.clipY,
width: context.propsValue.clipWidth,
height: context.propsValue.clipHeight,
};
}
const response = await browserlessCommon.apiCall({
auth: context.auth.props,
method: HttpMethod.POST,
resourceUri: '/screenshot',
body: requestBody,
});
const imageType = context.propsValue.imageType || 'png';
const fileName = `screenshot.${imageType}`;
let fileData: Buffer;
if (response.body instanceof ArrayBuffer) {
fileData = Buffer.from(response.body);
} else if (Buffer.isBuffer(response.body)) {
fileData = response.body;
} else if (typeof response.body === 'string') {
fileData = Buffer.from(response.body, 'latin1');
} else {
fileData = Buffer.from(String(response.body), 'latin1');
}
const file = await context.files.write({
data: fileData,
fileName: fileName,
});
return {
success: true,
file: file,
screenshotBase64: convertBinaryToBase64(fileData),
metadata: {
url: context.propsValue.url,
type: imageType,
fullPage: context.propsValue.fullPage || false,
timestamp: new Date().toISOString(),
contentType: response.headers?.['content-type'] || `image/${imageType}`,
fileName: fileName,
}
};
},
});

View File

@@ -0,0 +1,362 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { HttpMethod } from '@activepieces/pieces-common';
import { browserlessAuth } from '../common/auth';
import { browserlessCommon, convertBinaryToBase64 } from '../common/client';
export const generatePdf = createAction({
name: 'generate_pdf',
displayName: 'Generate PDF',
description: 'Convert a web page to PDF',
auth: browserlessAuth,
props: {
url: Property.ShortText({
displayName: 'URL',
description: 'The URL of the page to convert to PDF',
required: false,
}),
html: Property.LongText({
displayName: 'HTML Content',
description: 'HTML content to render as PDF (alternative to URL)',
required: false,
}),
format: Property.StaticDropdown({
displayName: 'Paper Format',
description: 'Paper format for the PDF',
required: false,
defaultValue: 'A4',
options: {
options: [
{ label: 'A0', value: 'A0' },
{ label: 'A1', value: 'A1' },
{ label: 'A2', value: 'A2' },
{ label: 'A3', value: 'A3' },
{ label: 'A4', value: 'A4' },
{ label: 'A5', value: 'A5' },
{ label: 'A6', value: 'A6' },
{ label: 'Letter', value: 'Letter' },
{ label: 'Legal', value: 'Legal' },
{ label: 'Ledger', value: 'Ledger' },
{ label: 'Tabloid', value: 'Tabloid' }
]
}
}),
landscape: Property.Checkbox({
displayName: 'Landscape',
description: 'Use landscape orientation',
required: false,
defaultValue: false,
}),
printBackground: Property.Checkbox({
displayName: 'Print Background',
description: 'Include background graphics',
required: false,
defaultValue: true,
}),
marginTop: Property.ShortText({
displayName: 'Top Margin',
description: 'Top margin (e.g., "10mm", "0.4in")',
required: false,
}),
marginRight: Property.ShortText({
displayName: 'Right Margin',
description: 'Right margin (e.g., "10mm", "0.4in")',
required: false,
}),
marginBottom: Property.ShortText({
displayName: 'Bottom Margin',
description: 'Bottom margin (e.g., "10mm", "0.4in")',
required: false,
}),
marginLeft: Property.ShortText({
displayName: 'Left Margin',
description: 'Left margin (e.g., "10mm", "0.4in")',
required: false,
}),
headerTemplate: Property.LongText({
displayName: 'Header Template',
description: 'HTML template for the print header',
required: false,
}),
footerTemplate: Property.LongText({
displayName: 'Footer Template',
description: 'HTML template for the print footer',
required: false,
}),
displayHeaderFooter: Property.Checkbox({
displayName: 'Display Header/Footer',
description: 'Display header and footer',
required: false,
defaultValue: false,
}),
scale: Property.Number({
displayName: 'Scale',
description: 'Scale of the webpage rendering (0.1 - 2.0)',
required: false,
}),
waitForSelector: Property.ShortText({
displayName: 'Wait for Selector',
description: 'CSS selector to wait for before generating PDF',
required: false,
}),
waitForSelectorTimeout: Property.Number({
displayName: 'Wait for Selector Timeout',
description: 'Timeout in milliseconds for waiting for selector',
required: false,
}),
waitForSelectorVisible: Property.Checkbox({
displayName: 'Wait for Selector Visible',
description: 'Wait for selector to be visible',
required: false,
defaultValue: true,
}),
waitForSelectorHidden: Property.Checkbox({
displayName: 'Wait for Selector Hidden',
description: 'Wait for selector to be hidden',
required: false,
defaultValue: false,
}),
preferCSSPageSize: Property.Checkbox({
displayName: 'Prefer CSS Page Size',
description: 'Give any CSS @page size declared in the page priority over format',
required: false,
defaultValue: false,
}),
pageRanges: Property.ShortText({
displayName: 'Page Ranges',
description: 'Paper ranges to print, e.g. "1-5, 8, 11-13"',
required: false,
}),
width: Property.ShortText({
displayName: 'Custom Width',
description: 'Custom width of paper (e.g., "8.5in", "210mm")',
required: false,
}),
height: Property.ShortText({
displayName: 'Custom Height',
description: 'Custom height of paper (e.g., "11in", "297mm")',
required: false,
}),
omitBackground: Property.Checkbox({
displayName: 'Omit Background',
description: 'Hide default white background and allow transparent PDFs',
required: false,
defaultValue: false,
}),
tagged: Property.Checkbox({
displayName: 'Tagged PDF',
description: 'Generate tagged (accessible) PDF',
required: false,
defaultValue: false,
}),
outline: Property.Checkbox({
displayName: 'Generate Outline',
description: 'Generate document outline',
required: false,
defaultValue: false,
}),
timeout: Property.Number({
displayName: 'Timeout (ms)',
description: 'Maximum time to wait for the page to load',
required: false,
}),
waitForFunction: Property.LongText({
displayName: 'Wait for Function',
description: 'JavaScript function to wait for before generating PDF',
required: false,
}),
waitForFunctionPolling: Property.ShortText({
displayName: 'Wait for Function Polling',
description: 'Polling interval for wait function ("raf", "mutation", or number in ms)',
required: false,
}),
waitForFunctionTimeout: Property.Number({
displayName: 'Wait for Function Timeout',
description: 'Timeout in milliseconds for wait function (0 to disable)',
required: false,
}),
userAgent: Property.ShortText({
displayName: 'User Agent',
description: 'Custom user agent string to use for the request',
required: false,
}),
waitForTimeout: Property.Number({
displayName: 'Wait Timeout (ms)',
description: 'Timeout in milliseconds to wait before generating PDF',
required: false,
}),
bestAttempt: Property.Checkbox({
displayName: 'Best Attempt',
description: 'Attempt to proceed when awaited events fail or timeout',
required: false,
defaultValue: false,
}),
},
async run(context) {
if (!context.propsValue.url && !context.propsValue.html) {
throw new Error('Either URL or HTML content must be provided');
}
if (context.propsValue.url && context.propsValue.html) {
throw new Error('Cannot provide both URL and HTML content. Choose one.');
}
const requestBody: any = {
options: {
format: context.propsValue.format || 'A4',
landscape: context.propsValue.landscape || false,
printBackground: context.propsValue.printBackground !== false,
displayHeaderFooter: context.propsValue.displayHeaderFooter || false,
}
};
if (context.propsValue.url) {
requestBody.url = context.propsValue.url;
} else if (context.propsValue.html) {
requestBody.html = context.propsValue.html;
}
if (context.propsValue.userAgent) {
requestBody.userAgent = context.propsValue.userAgent;
}
if (context.propsValue.waitForTimeout) {
requestBody.waitForTimeout = context.propsValue.waitForTimeout;
}
if (context.propsValue.bestAttempt) {
requestBody.bestAttempt = context.propsValue.bestAttempt;
}
const margin: any = {};
if (context.propsValue.marginTop) margin.top = context.propsValue.marginTop;
if (context.propsValue.marginRight) margin.right = context.propsValue.marginRight;
if (context.propsValue.marginBottom) margin.bottom = context.propsValue.marginBottom;
if (context.propsValue.marginLeft) margin.left = context.propsValue.marginLeft;
if (Object.keys(margin).length > 0) {
requestBody.options.margin = margin;
}
if (context.propsValue.headerTemplate) {
requestBody.options.headerTemplate = context.propsValue.headerTemplate;
}
if (context.propsValue.footerTemplate) {
requestBody.options.footerTemplate = context.propsValue.footerTemplate;
}
if (context.propsValue.scale) {
requestBody.options.scale = Math.max(0.1, Math.min(2.0, context.propsValue.scale));
}
if (context.propsValue.waitForSelector) {
const waitForSelectorObj: any = {
selector: context.propsValue.waitForSelector,
};
if (context.propsValue.waitForSelectorTimeout !== undefined) {
waitForSelectorObj.timeout = context.propsValue.waitForSelectorTimeout;
}
if (context.propsValue.waitForSelectorVisible !== undefined) {
waitForSelectorObj.visible = context.propsValue.waitForSelectorVisible;
}
if (context.propsValue.waitForSelectorHidden !== undefined) {
waitForSelectorObj.hidden = context.propsValue.waitForSelectorHidden;
}
requestBody.options.waitForSelector = waitForSelectorObj;
}
if (context.propsValue.preferCSSPageSize) {
requestBody.options.preferCSSPageSize = context.propsValue.preferCSSPageSize;
}
if (context.propsValue.pageRanges) {
requestBody.options.pageRanges = context.propsValue.pageRanges;
}
if (context.propsValue.width) {
requestBody.options.width = context.propsValue.width;
}
if (context.propsValue.height) {
requestBody.options.height = context.propsValue.height;
}
if (context.propsValue.omitBackground) {
requestBody.options.omitBackground = context.propsValue.omitBackground;
}
if (context.propsValue.tagged) {
requestBody.options.tagged = context.propsValue.tagged;
}
if (context.propsValue.outline) {
requestBody.options.outline = context.propsValue.outline;
}
if (context.propsValue.timeout) {
requestBody.options.timeout = context.propsValue.timeout;
}
if (context.propsValue.waitForFunction) {
const waitForFunctionObj: any = {
fn: context.propsValue.waitForFunction,
};
if (context.propsValue.waitForFunctionPolling !== undefined) {
waitForFunctionObj.polling = context.propsValue.waitForFunctionPolling;
}
if (context.propsValue.waitForFunctionTimeout !== undefined) {
waitForFunctionObj.timeout = context.propsValue.waitForFunctionTimeout;
}
requestBody.options.waitForFunction = waitForFunctionObj;
}
const response = await browserlessCommon.apiCall({
auth: context.auth.props,
method: HttpMethod.POST,
resourceUri: '/pdf',
body: requestBody,
});
const fileName = 'document.pdf';
let fileData: Buffer;
if (response.body instanceof ArrayBuffer) {
fileData = Buffer.from(response.body);
} else if (Buffer.isBuffer(response.body)) {
fileData = response.body;
} else if (typeof response.body === 'string') {
fileData = Buffer.from(response.body, 'latin1');
} else {
fileData = Buffer.from(String(response.body), 'latin1');
}
const file = await context.files.write({
data: fileData,
fileName: fileName,
});
return {
success: true,
file: file,
pdfBase64: convertBinaryToBase64(fileData),
metadata: {
source: context.propsValue.url ? 'url' : 'html',
url: context.propsValue.url || null,
hasHtml: !!context.propsValue.html,
format: context.propsValue.format || 'A4',
landscape: context.propsValue.landscape || false,
timestamp: new Date().toISOString(),
fileName: fileName,
contentType: 'application/pdf',
}
};
},
});

View File

@@ -0,0 +1,319 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { HttpMethod } from '@activepieces/pieces-common';
import { browserlessAuth } from '../common/auth';
import { browserlessCommon } from '../common/client';
export const getWebsitePerformance = createAction({
name: 'get_website_performance',
displayName: 'Get Website Performance',
description: 'Analyze website performance metrics using Lighthouse',
auth: browserlessAuth,
props: {
url: Property.ShortText({
displayName: 'URL',
description: 'The URL of the website to analyze',
required: true,
}),
categories: Property.Array({
displayName: 'Performance Categories',
description: 'Select which performance categories to analyze (performance, accessibility, best-practices, seo, pwa)',
required: false,
properties: {
category: Property.StaticDropdown({
displayName: 'Category',
required: true,
options: {
options: [
{ label: 'Performance', value: 'performance' },
{ label: 'Accessibility', value: 'accessibility' },
{ label: 'Best Practices', value: 'best-practices' },
{ label: 'SEO', value: 'seo' },
{ label: 'PWA', value: 'pwa' }
]
}
})
}
}),
device: Property.StaticDropdown({
displayName: 'Device Type',
description: 'Device type for performance analysis',
required: false,
defaultValue: 'desktop',
options: {
options: [
{ label: 'Desktop', value: 'desktop' },
{ label: 'Mobile', value: 'mobile' }
]
}
}),
throttling: Property.StaticDropdown({
displayName: 'Network Throttling',
description: 'Network throttling simulation',
required: false,
defaultValue: 'mobileSlow4G',
options: {
options: [
{ label: 'No Throttling', value: 'none' },
{ label: 'Slow 4G', value: 'mobileSlow4G' },
{ label: 'Regular 4G', value: 'mobileRegular4G' },
{ label: 'Fast 4G', value: 'mobileFast4G' }
]
}
}),
onlyCategories: Property.Checkbox({
displayName: 'Only Category Scores',
description: 'Return only category scores without detailed audit results',
required: false,
defaultValue: false,
}),
locale: Property.ShortText({
displayName: 'Locale',
description: 'Locale for the analysis (e.g., en-US, de-DE)',
required: false,
defaultValue: 'en-US',
}),
userAgent: Property.ShortText({
displayName: 'User Agent',
description: 'Custom user agent string',
required: false,
}),
timeout: Property.Number({
displayName: 'Timeout (ms)',
description: 'Maximum time to wait for the analysis to complete',
required: false,
defaultValue: 60000,
}),
waitForSelector: Property.ShortText({
displayName: 'Wait for Selector',
description: 'CSS selector to wait for before running performance analysis',
required: false,
}),
emulateMediaType: Property.StaticDropdown({
displayName: 'Emulate Media Type',
description: 'Emulate CSS media type',
required: false,
options: {
options: [
{ label: 'Screen', value: 'screen' },
{ label: 'Print', value: 'print' }
]
}
}),
budgets: Property.Array({
displayName: 'Performance Budgets',
description: 'Lighthouse performance budgets for resource sizes',
required: false,
properties: {
resourceType: Property.StaticDropdown({
displayName: 'Resource Type',
description: 'Type of resource to budget',
required: true,
options: {
options: [
{ label: 'Document', value: 'document' },
{ label: 'Script', value: 'script' },
{ label: 'Stylesheet', value: 'stylesheet' },
{ label: 'Image', value: 'image' },
{ label: 'Media', value: 'media' },
{ label: 'Font', value: 'font' },
{ label: 'Other', value: 'other' },
{ label: 'Third-party', value: 'third-party' }
]
}
}),
budget: Property.Number({
displayName: 'Budget Size (KB)',
description: 'Maximum allowed size in kilobytes',
required: true,
})
}
}),
stealth: Property.Checkbox({
displayName: 'Stealth Mode',
description: 'Enable stealth mode for bot detection bypass',
required: false,
defaultValue: false,
}),
blockAds: Property.Checkbox({
displayName: 'Block Ads',
description: 'Enable ad blocker during performance analysis',
required: false,
defaultValue: false,
}),
},
async run(context) {
const requestBody: any = {
url: context.propsValue.url,
};
const lighthouseConfig: any = {
extends: 'lighthouse:default',
settings: {}
};
if (context.propsValue.categories && context.propsValue.categories.length > 0) {
lighthouseConfig.settings.onlyCategories = context.propsValue.categories.map((cat: any) => cat.category);
}
if (context.propsValue.locale) {
lighthouseConfig.settings.locale = context.propsValue.locale;
}
if (context.propsValue.device) {
lighthouseConfig.settings.formFactor = context.propsValue.device;
}
if (context.propsValue.throttling && context.propsValue.throttling !== 'none') {
lighthouseConfig.settings.throttling = { rttMs: 150, throughputKbps: 1638.4, cpuSlowdownMultiplier: 4 };
switch (context.propsValue.throttling) {
case 'mobileSlow4G':
lighthouseConfig.settings.throttling = { rttMs: 150, throughputKbps: 1638.4, cpuSlowdownMultiplier: 4 };
break;
case 'mobileRegular4G':
lighthouseConfig.settings.throttling = { rttMs: 100, throughputKbps: 2048, cpuSlowdownMultiplier: 3 };
break;
case 'mobileFast4G':
lighthouseConfig.settings.throttling = { rttMs: 50, throughputKbps: 4096, cpuSlowdownMultiplier: 2 };
break;
}
}
if (context.propsValue.userAgent) {
lighthouseConfig.settings.userAgent = context.propsValue.userAgent;
}
if (context.propsValue.timeout) {
lighthouseConfig.settings.timeout = context.propsValue.timeout;
}
if (context.propsValue.waitForSelector) {
lighthouseConfig.settings.waitForSelector = context.propsValue.waitForSelector;
}
if (context.propsValue.emulateMediaType) {
lighthouseConfig.settings.emulatedFormFactor = context.propsValue.emulateMediaType;
}
if (context.propsValue.onlyCategories && !lighthouseConfig.settings.onlyCategories) {
lighthouseConfig.settings.onlyCategories = ['performance', 'accessibility', 'best-practices', 'seo', 'pwa'];
}
requestBody.config = lighthouseConfig;
if (context.propsValue.budgets && context.propsValue.budgets.length > 0) {
requestBody.budgets = context.propsValue.budgets.map((budget: any) => ({
resourceType: budget.resourceType,
budget: budget.budget * 1024
}));
}
let resourceUri = '/performance';
const queryParams: string[] = [];
if (context.propsValue.stealth) {
queryParams.push('stealth=true');
}
if (context.propsValue.blockAds) {
queryParams.push('blockAds=true');
}
if (queryParams.length > 0) {
resourceUri += `?${queryParams.join('&')}`;
}
const response = await browserlessCommon.apiCall({
auth: context.auth.props,
method: HttpMethod.POST,
resourceUri,
body: requestBody,
});
const performanceData = response.body;
const summary: any = {
url: context.propsValue.url,
formFactor: context.propsValue.device || 'desktop',
timestamp: new Date().toISOString(),
};
if (performanceData.lhr && performanceData.lhr.categories) {
const categories = performanceData.lhr.categories;
summary.scores = {
performance: categories.performance?.score ? Math.round(categories.performance.score * 100) : null,
accessibility: categories.accessibility?.score ? Math.round(categories.accessibility.score * 100) : null,
bestPractices: categories['best-practices']?.score ? Math.round(categories['best-practices'].score * 100) : null,
seo: categories.seo?.score ? Math.round(categories.seo.score * 100) : null,
pwa: categories.pwa?.score ? Math.round(categories.pwa.score * 100) : null,
};
}
if (performanceData.lhr && performanceData.lhr.audits) {
const audits = performanceData.lhr.audits;
summary.metrics = {
firstContentfulPaint: {
value: audits['first-contentful-paint']?.displayValue || null,
score: audits['first-contentful-paint']?.score ? Math.round(audits['first-contentful-paint'].score * 100) : null
},
largestContentfulPaint: {
value: audits['largest-contentful-paint']?.displayValue || null,
score: audits['largest-contentful-paint']?.score ? Math.round(audits['largest-contentful-paint'].score * 100) : null
},
firstMeaningfulPaint: {
value: audits['first-meaningful-paint']?.displayValue || null,
score: audits['first-meaningful-paint']?.score ? Math.round(audits['first-meaningful-paint'].score * 100) : null
},
speedIndex: {
value: audits['speed-index']?.displayValue || null,
score: audits['speed-index']?.score ? Math.round(audits['speed-index'].score * 100) : null
},
timeToInteractive: {
value: audits['interactive']?.displayValue || null,
score: audits['interactive']?.score ? Math.round(audits['interactive'].score * 100) : null
},
totalBlockingTime: {
value: audits['total-blocking-time']?.displayValue || null,
score: audits['total-blocking-time']?.score ? Math.round(audits['total-blocking-time'].score * 100) : null
},
cumulativeLayoutShift: {
value: audits['cumulative-layout-shift']?.displayValue || null,
score: audits['cumulative-layout-shift']?.score ? Math.round(audits['cumulative-layout-shift'].score * 100) : null
},
};
summary.opportunities = [];
if (audits['unused-css-rules']?.details?.items?.length > 0) {
summary.opportunities.push({
type: 'unused-css',
title: 'Remove unused CSS',
potentialSavings: audits['unused-css-rules'].displayValue || 'Unknown'
});
}
if (audits['unused-javascript']?.details?.items?.length > 0) {
summary.opportunities.push({
type: 'unused-javascript',
title: 'Remove unused JavaScript',
potentialSavings: audits['unused-javascript'].displayValue || 'Unknown'
});
}
if (audits['render-blocking-resources']?.details?.items?.length > 0) {
summary.opportunities.push({
type: 'render-blocking',
title: 'Eliminate render-blocking resources',
potentialSavings: audits['render-blocking-resources'].displayValue || 'Unknown'
});
}
}
return {
success: true,
summary,
fullReport: performanceData,
metadata: {
analysisTime: response.headers?.['x-response-time'] || 'unknown',
lighthouseVersion: performanceData.lhr?.lighthouseVersion || 'unknown',
}
};
},
});

View File

@@ -0,0 +1,293 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { HttpMethod } from '@activepieces/pieces-common';
import { browserlessAuth } from '../common/auth';
import { browserlessCommon } from '../common/client';
export const runBqlQuery = createAction({
name: 'run_bql_query',
displayName: 'Run BQL Query',
description: 'Execute Browser Query Language (BQL) GraphQL-based queries for advanced browser automation',
auth: browserlessAuth,
props: {
query: Property.LongText({
displayName: 'BQL Query',
description: 'GraphQL-based BQL query for browser automation. Example: mutation { goto(url: "https://example.com") { status } }',
required: true,
}),
variables: Property.Object({
displayName: 'Query Variables',
description: 'Variables to pass to the BQL query (JSON object)',
required: false,
}),
operationName: Property.ShortText({
displayName: 'Operation Name',
description: 'Name of the GraphQL operation to execute',
required: false,
}),
timeout: Property.Number({
displayName: 'Timeout (ms)',
description: 'Maximum execution time in milliseconds',
required: false,
defaultValue: 30000,
}),
stealth: Property.Checkbox({
displayName: 'Stealth Mode',
description: 'Enable stealth mode for bot detection bypass',
required: false,
defaultValue: true,
}),
headless: Property.Checkbox({
displayName: 'Headless Mode',
description: 'Run browser in headless mode (set to false for GUI)',
required: false,
defaultValue: true,
}),
humanlike: Property.Checkbox({
displayName: 'Human-like Behavior',
description: 'Enable human-like mouse movement, typing, and delays',
required: false,
defaultValue: false,
}),
proxy: Property.StaticDropdown({
displayName: 'Proxy Type',
description: 'Type of proxy to use',
required: false,
options: {
options: [
{ label: 'Residential', value: 'residential' },
{ label: 'None', value: 'none' }
]
}
}),
proxyCountry: Property.ShortText({
displayName: 'Proxy Country',
description: 'Country code for residential proxy (e.g., us, gb, de)',
required: false,
}),
proxySticky: Property.Checkbox({
displayName: 'Sticky Proxy',
description: 'Maintain same proxy IP across session',
required: false,
defaultValue: false,
}),
blockAds: Property.Checkbox({
displayName: 'Block Ads',
description: 'Enable ad blocker (uBlock Origin)',
required: false,
defaultValue: false,
}),
blockConsentModals: Property.Checkbox({
displayName: 'Block Consent Modals',
description: 'Automatically block/dismiss cookie consent banners',
required: false,
defaultValue: false,
}),
record: Property.Checkbox({
displayName: 'Record Session',
description: 'Enable session recording for debugging',
required: false,
defaultValue: false,
}),
slowMo: Property.Number({
displayName: 'Slow Motion (ms)',
description: 'Add delays between browser actions in milliseconds',
required: false,
}),
ignoreHTTPSErrors: Property.Checkbox({
displayName: 'Ignore HTTPS Errors',
description: 'Ignore HTTPS certificate errors during navigation',
required: false,
defaultValue: false,
}),
userAgent: Property.ShortText({
displayName: 'User Agent',
description: 'Custom user agent string',
required: false,
}),
viewportWidth: Property.Number({
displayName: 'Viewport Width',
description: 'Browser viewport width',
required: false,
}),
viewportHeight: Property.Number({
displayName: 'Viewport Height',
description: 'Browser viewport height',
required: false,
}),
cookies: Property.Array({
displayName: 'Cookies',
description: 'Cookies to set before executing BQL query',
required: false,
properties: {
name: Property.ShortText({
displayName: 'Cookie Name',
required: true,
}),
value: Property.ShortText({
displayName: 'Cookie Value',
required: true,
}),
url: Property.ShortText({
displayName: 'URL',
description: 'Request-URI to associate with the cookie',
required: false,
}),
domain: Property.ShortText({
displayName: 'Domain',
required: false,
}),
path: Property.ShortText({
displayName: 'Path',
required: false,
}),
secure: Property.Checkbox({
displayName: 'Secure',
description: 'Indicates if the cookie is secure',
required: false,
defaultValue: false,
}),
httpOnly: Property.Checkbox({
displayName: 'HTTP Only',
description: 'Indicates if the cookie is HTTP-only',
required: false,
defaultValue: false,
}),
sameSite: Property.StaticDropdown({
displayName: 'SameSite',
description: 'SameSite policy for the cookie',
required: false,
options: {
options: [
{ label: 'Strict', value: 'Strict' },
{ label: 'Lax', value: 'Lax' },
{ label: 'None', value: 'None' }
]
}
}),
expires: Property.Number({
displayName: 'Expires',
description: 'Expiration date as timestamp (session cookie if not set)',
required: false,
}),
}
}),
},
async run(context) {
const requestBody: any = {
query: context.propsValue.query,
};
if (context.propsValue.variables) {
requestBody.variables = context.propsValue.variables;
}
if (context.propsValue.operationName) {
requestBody.operationName = context.propsValue.operationName;
}
let resourceUri = '/chromium/bql';
const queryParams: string[] = [];
if (context.propsValue.timeout) {
queryParams.push(`timeout=${context.propsValue.timeout}`);
}
if (context.propsValue.stealth !== undefined) {
queryParams.push(`stealth=${context.propsValue.stealth}`);
}
if (context.propsValue.headless !== undefined) {
queryParams.push(`headless=${context.propsValue.headless}`);
}
if (context.propsValue.humanlike) {
queryParams.push(`humanlike=true`);
}
if (context.propsValue.proxy && context.propsValue.proxy !== 'none') {
queryParams.push(`proxy=${context.propsValue.proxy}`);
if (context.propsValue.proxyCountry) {
queryParams.push(`proxyCountry=${context.propsValue.proxyCountry}`);
}
if (context.propsValue.proxySticky) {
queryParams.push(`proxySticky=true`);
}
}
if (context.propsValue.blockAds) {
queryParams.push(`blockAds=true`);
}
if (context.propsValue.blockConsentModals) {
queryParams.push(`blockConsentModals=true`);
}
if (context.propsValue.record) {
queryParams.push(`record=true`);
}
if (context.propsValue.slowMo) {
queryParams.push(`slowMo=${context.propsValue.slowMo}`);
}
if (context.propsValue.ignoreHTTPSErrors) {
queryParams.push(`ignoreHTTPSErrors=true`);
}
if (context.propsValue.userAgent) {
queryParams.push(`userAgent=${encodeURIComponent(context.propsValue.userAgent)}`);
}
if (context.propsValue.viewportWidth && context.propsValue.viewportHeight) {
queryParams.push(`viewport=${context.propsValue.viewportWidth}x${context.propsValue.viewportHeight}`);
}
if (context.propsValue.cookies && context.propsValue.cookies.length > 0) {
const cookiesJson = JSON.stringify(context.propsValue.cookies.map((cookie: any) => ({
name: cookie.name,
value: cookie.value,
...(cookie.url && { url: cookie.url }),
...(cookie.domain && { domain: cookie.domain }),
...(cookie.path && { path: cookie.path }),
...(cookie.secure !== undefined && { secure: cookie.secure }),
...(cookie.httpOnly !== undefined && { httpOnly: cookie.httpOnly }),
...(cookie.sameSite && { sameSite: cookie.sameSite }),
...(cookie.expires !== undefined && { expires: cookie.expires })
})));
queryParams.push(`cookies=${encodeURIComponent(cookiesJson)}`);
}
if (queryParams.length > 0) {
resourceUri += `?${queryParams.join('&')}`;
}
const response = await browserlessCommon.apiCall({
auth: context.auth.props,
method: HttpMethod.POST,
resourceUri,
body: requestBody,
});
let parsedResult;
try {
parsedResult = typeof response.body === 'string' ? JSON.parse(response.body) : response.body;
} catch (error) {
parsedResult = response.body;
}
return {
success: true,
data: parsedResult?.data || null,
errors: parsedResult?.errors || null,
result: parsedResult,
metadata: {
browserType: 'chromium',
executionTime: response.headers?.['x-response-time'] || 'unknown',
timestamp: new Date().toISOString(),
stealth: context.propsValue.stealth || false,
}
};
},
});

View File

@@ -0,0 +1,289 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { HttpMethod } from '@activepieces/pieces-common';
import { browserlessAuth } from '../common/auth';
import { browserlessCommon } from '../common/client';
export const scrapeUrl = createAction({
name: 'scrape_url',
displayName: 'Scrape URL',
description: 'Extract content from a web page',
auth: browserlessAuth,
props: {
url: Property.ShortText({
displayName: 'URL',
description: 'The URL of the page to scrape',
required: true,
}),
elements: Property.Array({
displayName: 'Elements to Extract',
description: 'CSS selectors for elements to extract',
required: true,
properties: {
selector: Property.ShortText({
displayName: 'CSS Selector',
description: 'CSS selector for the element',
required: true,
}),
timeout: Property.Number({
displayName: 'Timeout (ms)',
description: 'Timeout in milliseconds for this specific selector',
required: false,
}),
}
}),
waitForSelector: Property.ShortText({
displayName: 'Wait for Selector',
description: 'CSS selector to wait for before scraping',
required: false,
}),
waitForSelectorTimeout: Property.Number({
displayName: 'Wait for Selector Timeout',
description: 'Timeout in milliseconds for waiting for selector',
required: false,
}),
waitForSelectorVisible: Property.Checkbox({
displayName: 'Wait for Selector Visible',
description: 'Wait for selector to be visible',
required: false,
defaultValue: true,
}),
waitForSelectorHidden: Property.Checkbox({
displayName: 'Wait for Selector Hidden',
description: 'Wait for selector to be hidden',
required: false,
defaultValue: false,
}),
waitForTimeout: Property.Number({
displayName: 'Wait Timeout (ms)',
description: 'Timeout in milliseconds to wait before scraping',
required: false,
}),
waitForEvent: Property.ShortText({
displayName: 'Wait for Event',
description: 'Event name to wait for before scraping',
required: false,
}),
waitForEventTimeout: Property.Number({
displayName: 'Wait for Event Timeout',
description: 'Timeout in milliseconds for wait event',
required: false,
}),
debugConsole: Property.Checkbox({
displayName: 'Debug Console',
description: 'Include console logs in debug output',
required: false,
defaultValue: false,
}),
debugCookies: Property.Checkbox({
displayName: 'Debug Cookies',
description: 'Include cookies in debug output',
required: false,
defaultValue: false,
}),
debugNetwork: Property.Checkbox({
displayName: 'Debug Network',
description: 'Include network requests in debug output',
required: false,
defaultValue: false,
}),
bestAttempt: Property.Checkbox({
displayName: 'Best Attempt',
description: 'Attempt to proceed when awaited events fail or timeout',
required: false,
defaultValue: false,
}),
userAgent: Property.ShortText({
displayName: 'User Agent',
description: 'Custom user agent string',
required: false,
}),
cookies: Property.Array({
displayName: 'Cookies',
description: 'Cookies to set before scraping',
required: false,
properties: {
name: Property.ShortText({
displayName: 'Cookie Name',
required: true,
}),
value: Property.ShortText({
displayName: 'Cookie Value',
required: true,
}),
domain: Property.ShortText({
displayName: 'Domain',
required: false,
}),
}
}),
timeout: Property.Number({
displayName: 'Timeout (ms)',
description: 'Maximum time to wait for the page to load',
required: false,
defaultValue: 30000,
}),
waitUntil: Property.StaticDropdown({
displayName: 'Wait Until',
description: 'When to consider navigation complete',
required: false,
defaultValue: 'networkidle2',
options: {
options: [
{ label: 'Load Event', value: 'load' },
{ label: 'DOM Content Loaded', value: 'domcontentloaded' },
{ label: 'Network Idle 0', value: 'networkidle0' },
{ label: 'Network Idle 2', value: 'networkidle2' }
]
}
}),
waitForFunction: Property.LongText({
displayName: 'Wait for Function',
description: 'JavaScript function to wait for before scraping (should return true when ready)',
required: false,
}),
viewportWidth: Property.Number({
displayName: 'Viewport Width',
description: 'Browser viewport width in pixels',
required: false,
defaultValue: 1920,
}),
viewportHeight: Property.Number({
displayName: 'Viewport Height',
description: 'Browser viewport height in pixels',
required: false,
defaultValue: 1080,
}),
},
async run(context) {
const requestBody: any = {
url: context.propsValue.url,
elements: (context.propsValue.elements || []).map((element: any) => {
let selector = element.selector;
if (typeof selector === 'string') {
try {
const parsed = JSON.parse(selector);
if (parsed.selector) {
selector = parsed.selector;
}
} catch (e) {
console.error('Error parsing selector:', e);
}
} else if (typeof selector === 'object' && selector.selector) {
selector = selector.selector;
}
const elementConfig: any = {
selector: selector,
};
if (element.timeout !== undefined) {
elementConfig.timeout = element.timeout;
}
return elementConfig;
})
};
if (context.propsValue.timeout || context.propsValue.waitUntil) {
requestBody.gotoOptions = {};
if (context.propsValue.timeout) {
requestBody.gotoOptions.timeout = context.propsValue.timeout;
}
if (context.propsValue.waitUntil) {
requestBody.gotoOptions.waitUntil = context.propsValue.waitUntil;
}
}
if (context.propsValue.waitForSelector) {
const waitForSelectorObj: any = {
selector: context.propsValue.waitForSelector,
};
if (context.propsValue.waitForSelectorTimeout !== undefined) {
waitForSelectorObj.timeout = context.propsValue.waitForSelectorTimeout;
}
if (context.propsValue.waitForSelectorVisible !== undefined) {
waitForSelectorObj.visible = context.propsValue.waitForSelectorVisible;
}
if (context.propsValue.waitForSelectorHidden !== undefined) {
waitForSelectorObj.hidden = context.propsValue.waitForSelectorHidden;
}
requestBody.waitForSelector = waitForSelectorObj;
}
if (context.propsValue.waitForTimeout) {
requestBody.waitForTimeout = context.propsValue.waitForTimeout;
}
if (context.propsValue.waitForEvent) {
const waitForEventObj: any = {
event: context.propsValue.waitForEvent,
};
if (context.propsValue.waitForEventTimeout !== undefined) {
waitForEventObj.timeout = context.propsValue.waitForEventTimeout;
}
requestBody.waitForEvent = waitForEventObj;
}
const debugOpts: any = {};
if (context.propsValue.debugConsole) debugOpts.console = true;
if (context.propsValue.debugCookies) debugOpts.cookies = true;
if (context.propsValue.debugNetwork) debugOpts.network = true;
if (Object.keys(debugOpts).length > 0) {
requestBody.debugOpts = debugOpts;
}
if (context.propsValue.bestAttempt) {
requestBody.bestAttempt = context.propsValue.bestAttempt;
}
if (context.propsValue.waitForFunction) {
requestBody.waitForFunction = {
fn: context.propsValue.waitForFunction
};
}
if (context.propsValue.userAgent) {
requestBody.userAgent = context.propsValue.userAgent;
}
if (context.propsValue.viewportWidth && context.propsValue.viewportHeight) {
requestBody.viewport = {
width: context.propsValue.viewportWidth,
height: context.propsValue.viewportHeight,
};
}
if (context.propsValue.cookies && context.propsValue.cookies.length > 0) {
requestBody.cookies = context.propsValue.cookies.map((cookie: any) => ({
name: cookie.name,
value: cookie.value,
...(cookie.domain && { domain: cookie.domain })
}));
}
const response = await browserlessCommon.apiCall({
auth: context.auth.props,
method: HttpMethod.POST,
resourceUri: '/scrape',
body: requestBody,
});
return {
success: true,
data: response.body,
metadata: {
url: context.propsValue.url,
elementsCount: (context.propsValue.elements || []).length,
timestamp: new Date().toISOString(),
}
};
},
});

View File

@@ -0,0 +1,57 @@
import { PieceAuth, Property } from '@activepieces/pieces-framework';
export const browserlessAuth = PieceAuth.CustomAuth({
description: `
To obtain your API credentials:
1. Sign up for a free Browserless account at https://www.browserless.io
2. Navigate to your dashboard
3. Find your API Key/Token in the account settings
4. Choose your preferred regional endpoint for optimal performance
Regional Endpoints:
• US West (SFO): https://production-sfo.browserless.io
• Europe UK (London): https://production-lon.browserless.io
• Europe (Amsterdam): https://production-ams.browserless.io
For custom/dedicated instances, select "Custom" and enter your specific endpoint URL.
`,
props: {
apiToken: PieceAuth.SecretText({
displayName: 'API Token',
description: 'Your Browserless API token (found in your dashboard)',
required: true,
}),
region: Property.StaticDropdown({
displayName: 'Region',
description: 'Choose the regional endpoint closest to you for optimal performance',
required: true,
options: {
options: [
{
label: 'US West (San Francisco)',
value: 'https://production-sfo.browserless.io'
},
{
label: 'Europe UK (London)',
value: 'https://production-lon.browserless.io'
},
{
label: 'Europe (Amsterdam)',
value: 'https://production-ams.browserless.io'
},
{
label: 'Custom Endpoint',
value: 'custom'
}
]
}
}),
customBaseUrl: Property.ShortText({
displayName: 'Custom Base URL',
description: 'Enter your custom Browserless endpoint URL',
required: false,
}),
},
required: true,
});

View File

@@ -0,0 +1,72 @@
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
export interface BrowserlessAuth {
apiToken: string;
region: string;
customBaseUrl?: string;
}
export function convertBinaryToBase64(binaryData: any): string {
if (typeof binaryData === 'string') {
return Buffer.from(binaryData, 'binary').toString('base64');
} else if (binaryData instanceof ArrayBuffer) {
return Buffer.from(binaryData).toString('base64');
} else if (Buffer.isBuffer(binaryData)) {
return binaryData.toString('base64');
} else {
return Buffer.from(String(binaryData), 'binary').toString('base64');
}
}
export function isBinaryResponse(headers: any): boolean {
const contentType = headers?.get?.('content-type') || headers?.['content-type'] || '';
return contentType.includes('image/') ||
contentType.includes('application/pdf') ||
contentType.includes('application/octet-stream');
}
export const browserlessCommon = {
async apiCall({
auth,
method,
resourceUri,
body,
headers = {},
}: {
auth: BrowserlessAuth;
method: HttpMethod;
resourceUri: string;
body?: any;
headers?: Record<string, string>;
}) {
const baseUrl = auth.region === 'custom' ? auth.customBaseUrl : auth.region;
if (!baseUrl) {
throw new Error('Base URL is required. Please configure your Browserless endpoint.');
}
const url = `${baseUrl}${resourceUri}`;
const requestHeaders = {
'Content-Type': 'application/json',
'Accept': '*/*',
...headers,
};
let responseType: 'json' | 'arraybuffer' | 'text' = 'json';
if (resourceUri.includes('/screenshot') || resourceUri.includes('/pdf')) {
responseType = 'arraybuffer';
}
const requestConfig = {
method,
url,
headers: requestHeaders,
body: body ? JSON.stringify(body) : undefined,
queryParams: { token: auth.apiToken },
responseType,
};
return await httpClient.sendRequest(requestConfig);
},
};

View File

@@ -0,0 +1,19 @@
{
"extends": "../../../../tsconfig.base.json",
"compilerOptions": {
"module": "commonjs",
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitOverride": true,
"noPropertyAccessFromIndexSignature": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
},
"files": [],
"include": [],
"references": [
{
"path": "./tsconfig.lib.json"
}
]
}

View File

@@ -0,0 +1,9 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../../../dist/out-tsc",
"declaration": true,
"types": ["node"]
},
"include": ["src/**/*.ts"]
}