Floppydata Floppydata

As sessões são gratuitas — pague apenas pelo tráfego

Execute o Playwright na nuvem

Aponte seus scripts e testes do Playwright para o Chromium na nuvem da Floppydata. Uma requisição à API inicia um navegador, connectOverCDP() se conecta a ele, e o resto do seu código continua como está.

  • Conecte com connectOverCDP(), sem instalar navegadores
  • Node.js, Python e Playwright Test
  • Grátis com os proxies da Floppydata: você paga só pelo tráfego

Como executar o Playwright na nuvem

Crie uma sessão com uma requisição à API e passe a connectUrl dela para o Playwright. O exemplo segue o guia do Cloud Browser na nossa documentação.

Três passos

  1. 1 Crie uma Client API key na sua conta da Floppydata.
  2. 2 Envie POST /v2/browser/sessions. A resposta traz uma connectUrl.
  3. 3 Passe-a para connectOverCDP() e trabalhe normalmente. Fechar o navegador encerra a sessão.
run.mjs
import { chromium } from 'playwright';const res = await fetch('https://api.floppydata.net/v2/browser/sessions', {    method: 'POST',    headers: {        'X-Api-Key': process.env.FLOPPY_API_KEY,        'Content-Type': 'application/json',    },    body: JSON.stringify({        proxy: { type: 'residential', location: { countryCode: 'US' } },    }),});const { connectUrl } = await res.json();const browser = await chromium.connectOverCDP(connectUrl);const page = await browser.contexts()[0].newPage();await page.goto('https://example.com/');console.log(await page.title());await browser.close(); // stops the session

Criar uma sessão, conectar, abrir uma página.

Do Playwright local ao Playwright na nuvem

Localmente, cada worker do Playwright inicia seu próprio Chromium. Quando uma suíte de testes ou um scraper cresce, esses navegadores disputam CPU e memória, e cada runner de CI precisa baixá-los primeiro.

Com o Floppydata Cloud Browser, o Chromium roda remotamente. Seu código se conecta pelo Chrome DevTools Protocol, então do seu lado basta o playwright-core, e cada execução ganha sua própria sessão de navegador.

Playwright local antes
const browser =
    await chromium.launch();
Floppydata Cloud Browser depois
const browser =
    await chromium.connectOverCDP(connectUrl);

Tudo depois desta linha continua igual. A connectUrl vem da requisição de criação acima.

Playwright com proxies integrados

Cada sessão passa pelos proxies da Floppydata, então não há servidor proxy para configurar no Playwright. Escolha o tipo de IP, o país e a rotação, e envie o resultado como corpo da requisição de criação.

Configure sua sessão do Playwright na nuvem

Tipo de proxy
Rotação
POST /v2/browser/sessions
{
  "proxy": {
    "type": "residential",
    "location": {
      "countryCode": "US"
    },
    "rotation": {
      "mode": "sticky"
    }
  }
}

Na mesma requisição dá para indicar uma cidade, um estado ou um ASN. Os IPs residenciais cobrem 148 países, os móveis 150 e os de datacenter 71.

Playwright local ou na nuvem

Playwright local comparado ao Playwright no Floppydata Cloud Browser
Playwright local Playwright no Cloud Browser
Chromium Instalado e atualizado em cada máquina Roda na nuvem da Floppydata
Navegadores no CI Baixados em cada runner Não são necessários: o playwright-core basta
Proxies Configurados por você a cada execução Integrados: residenciais, móveis ou de datacenter
Navegadores em paralelo Limitados pela sua CPU e RAM Até 100 sessões por conta
Custo do navegador O tempo dos seus servidores Grátis: só o tráfego de proxy é cobrado
Conexão Protocolo do Playwright, qualquer engine de navegador CDP com connectOverCDP(), apenas Chromium

connectOverCDP() cobre o que a maioria dos scripts faz (navegação, locators, cliques, formulários, esperas e JavaScript), mas não é o protocolo completo do Playwright. Verifique qualquer coisa incomum com seus próprios scripts.

Escale e ajuste cada sessão

Cada configuração é um campo opcional da requisição de criação: envie só as que precisar, ou não envie nada e receba um proxy residencial, uma impressão digital coerente e um tempo limite de 10 minutos.

Depure execuções do Playwright em um navegador ao vivo

Quando um script para em uma tela que não esperava, como um banner de consentimento ou uma etapa extra de login, abra uma visualização ao vivo da sessão no seu próprio navegador e veja exatamente o que a página mostra.

O Playwright e a visualização ao vivo se revezam na mesma sessão, então a execução continua de onde parou em vez de recomeçar. Mais sobre o modo UI

  1. 1 Crie a sessão com keepAlive: true, para que desconectar não a encerre.
  2. 2 Quando uma execução para em uma tela inesperada, desconecte o Playwright.
  3. 3 Solicite uma visualização ao vivo e abra-a: veja a página e resolva a situação manualmente.
  4. 4 Obtenha a sessão de novo e reconecte o Playwright com a nova connectUrl.

Grátis para usuários de proxies da Floppydata

O Cloud Browser não tem assinatura, taxa de execução nem taxa por sessão. Cada sessão passa pelos proxies da Floppydata, e você paga apenas pelo tráfego de proxy que ela usa: a partir de $1.00 por GB, o mesmo preço para residenciais, móveis e de datacenter.

Se você já compra proxies da Floppydata, o Cloud Browser está incluído: o mesmo saldo, a mesma chave de API. Execute até 100 sessões ao mesmo tempo em uma conta ou peça ao suporte para aumentar o limite.

Erros comuns de conexão do Playwright na nuvem

O que a API ou a conexão informa quando algo dá errado, e o que fazer a respeito.

Erros de conexão do Cloud Browser e como corrigi-los
Erro O que significa O que fazer
unauthorized A connectUrl assinada expirou ou é inválida. Obtenha a sessão de novo e conecte-se com a nova connectUrl dela.
connection_in_use Outro cliente ou uma visualização ao vivo já está conectado: só é permitida uma conexão por sessão. Feche a outra conexão e tente de novo.
session_not_active A sessão foi encerrada, expirou ou falhou. Crie uma nova sessão; para tarefas longas, aumente runtime.timeoutSeconds.
A conexão é encerrada Uma única mensagem passou de cerca de 1 MiB, como uma captura de página inteira ou um quadro de screencast. Faça capturas do viewport ou de um elemento, ou recorte a área de que precisa.
upstream_error Uma operação do serviço de navegadores falhou por um instante. Tente de novo: encerrar uma sessão pode ser repetido com segurança.

Perguntas frequentes

Quais navegadores são suportados?
Chromium. As sessões se conectam pelo Chrome DevTools Protocol, que o Playwright suporta apenas para o Chromium, então projetos em Firefox e WebKit não podem usá-las. O Puppeteer se conecta às mesmas sessões.
Qual é a diferença entre connect() e connectOverCDP()?
connect() usa o protocolo próprio do Playwright e precisa de um servidor Playwright do outro lado. connectOverCDP() se conecta ao Chromium pelo Chrome DevTools Protocol, que é o que uma sessão da Floppydata oferece, então use connectOverCDP() (connect_over_cdp() em Python). Ele cobre navegação, locators, cliques, formulários, esperas e JavaScript, mas não é o protocolo completo do Playwright; por isso, verifique qualquer coisa incomum com seus próprios scripts.
Posso fazer capturas de tela em uma sessão na nuvem?
Sim, com um limite: uma única mensagem pela conexão pode ter cerca de 1 MiB, então uma captura de página inteira muito grande ou um quadro de screencast pode encerrá-la. Faça capturas do viewport ou de um elemento, ou recorte a área de que precisa.
Quantas sessões do Playwright posso executar em paralelo?
Até 100 ao mesmo tempo em uma conta. Se a sua suíte precisar de mais, peça ao suporte para aumentar o limite.
Quanto tempo uma sessão pode durar?
De 60 segundos a 6 horas; o padrão é 10 minutos. Por padrão, fechar a conexão do Playwright também encerra a sessão. Com keepAlive: true, você pode desconectar e reconectar até a sessão expirar.
Posso manter cookies e logins entre execuções?
Sim. Cada sessão retorna um ID de configurações que restaura a mesma identidade e o mesmo estado do navegador na próxima vez; uma conta pode manter até 20 configurações salvas. Você também pode importar até 100 cookies antes de iniciar.

Explore outras soluções de navegador na nuvem