paint-brush
Como aproveitar ao máximo o dramaturgo após as últimas atualizaçõespor@brightdata
1,897 leituras
1,897 leituras

Como aproveitar ao máximo o dramaturgo após as últimas atualizações

por Bright Data5m2023/12/17
Read on Terminal Reader

Muito longo; Para ler

Adivinha? A Microsoft acaba de lançar uma nova versão do Playwright como um relógio! Acompanhar as correções de bugs e as alterações da API pode parecer um trabalho de tempo integral, e perder recursos interessantes é muito fácil. Mas não se preocupe, nós protegemos você! Estamos aqui para ajudá-lo a ficar por dentro, aprender alguns truques novos e impressionar seus colegas com suas habilidades estelares! Pronto para mergulhar? Vamos!
featured image - Como aproveitar ao máximo o dramaturgo após as últimas atualizações
Bright Data HackerNoon profile picture
0-item
1-item
2-item
3-item
4-item


Adivinha? A Microsoft acaba de lançar uma nova versão doPlaywright como um relógio! Manter-se atualizado com correções de bugs e alterações de API pode parecer um trabalho de tempo integral, e perder recursos interessantes é muito fácil. Mas não se preocupe; nós protegemos você!


Junte-se a nós em uma jornada pelas últimas atualizações do Playwright. Estamos aqui para ajudá-lo a ficar por dentro, aprender alguns truques novos e impressionar seus colegas com suas habilidades estelares! Pronto para mergulhar? Vamos!


Últimas atualizações do dramaturgo (v1.04)

Se você está ansioso para ver em primeira mão as atualizações mais recentes do Playwright por meio de alguns exemplos incríveis, acesse o canal do Playwright no YouTube e assista ao vídeo mensal “O que há de novo no Playwright”:

É hora de explorar os recursos mais recentes introduzidos no Playwright e ver como aproveitá-los ao máximo 🔍

Novas APIs

  • Campo FirefoxUserPrefs adicionado ao argumento do objeto options de browserType.launchPersistentContext(userDataDir, options) . Esse método inicia um navegador usando armazenamento persistente localizado em userDataDir e retorna a instância do contexto do navegador. firefoxUserPrefs `é um objeto que contém as preferências do usuário do Firefox conforme especificado em about:config .
  • campo reason adicionado ao argumento do objeto options dos métodos page.close(options) , browserContext.close(options) e browser.close(options) . reason é uma string contendo a mensagem de erro relatada por todas as operações interrompidas como resultado de uma chamada close() .


Embora firefoxUserPrefs atenda especificamente aos usuários do Firefox que precisam de configurações personalizadas, o campo de reason tem um propósito muito mais geral. Use-o como no trecho abaixo:


 await browser.close({ reason: "Scraping process completed!" })


Todas as operações pendentes interrompidas por browser.close() agora gerarão um erro de JavaScript com a mensagem “Processo de raspagem concluído!”


Como usar esse recurso? Imagine que sua página de destino está no meio de uma tarefa crítica – digamos, aguardando a recuperação de alguns dados. De repente, um erro inesperado aparece e você se depara com a necessidade de fechar o navegador normalmente.


Sem reason , você não saberia se os recursos para a tarefa em andamento foram liberados e por que a operação foi interrompida. Não saber o que está acontecendo é ruim, especialmente quando você tem a tarefa de inspecionar o motivo de um erro nos logs de um script automatizado de web scraping. É aí que o campo da “razão” vem em seu socorro, poupando dias de investigação meticulosa.


Incrível, esta introdução à API torna a depuração muito mais fácil! 🚀

Nova funcionalidade para a ferramenta Gerador de Testes

A ferramenta Playwright Test Generator , projetada para criar testes automaticamente conforme você executa ações em um navegador, agora fornece os seguintes botões:


  • Afirmar visibilidade : verifique se o elemento selecionado está visível gerando uma instrução expect(locator).toBeVisible() .
  • Afirmar texto : certifique-se de que o elemento HTML selecionado contém texto específico por meio de uma instrução expect(locator).toContainText()
  • Afirmar valor : verifique se o elemento select tem um valor específico adicionando uma instrução expect(locator).toHaveValue() ao seu teste.


Imagine isto : você está trabalhando em uma tarefa complexa, como construir um web scraper para uma página web dinâmica . Suponha que você precise garantir que alguns elementos da página estejam visíveis e contenham textos ou valores específicos. Isso envolveria alguma lógica complexa 👎. Mas espere, graças a esta nova atualização, tudo se resume a alguns cliques na ferramenta Test Generator!


Veja esse novo recurso em ação no seguinte GIF:


Ferramenta PlaywrightTest Generator


Essa interação do Test Generator produzirá o seguinte teste TypeScript para você:


 import { test, expect } from '@playwright/test'; test('test', async ({ page }) => { await page.goto('https://playwright.dev/'); await expect(page.getByRole('banner')).toContainText('Get started'); });

✨ Bem mágico, não é? ✨

Versões atualizadas do navegador

Seguindo a grande tradição das principais atualizações do Playwright, a linha de navegadores suportados foi atualizada com versões mais recentes:

  • Cromo 120.0.6099.28
  • Mozilla Firefox 119.0
  • Web Kit 17.4


Mas isso não é tudo! A versão atual do Playwright também se mostrou excelente contra os seguintes canais estáveis:

  • Google Chrome 119

  • Microsoft Edge 119


Outras pequenas alterações

  • Os métodos download.path() e download.createReadStream() agora geram um erro quando a operação de download falha ou é cancelada.

  • A imagem do Docker Playwright agora vem com o Node.js v20.


Não quer perder nenhuma nova atualização? Fique de olho na página Notas de lançamento do Playwright!

Como atualizar o dramaturgo

Agora, você deve estar pensando: “Como posso colocar as mãos nessas novas adições fantásticas?” Bem, atualizando o Playwright para a versão mais recente, meu amigo!


Basta iniciar o comando abaixo:

npm install @playwright/test@latest

E esqueça de atualizar as instâncias do navegador com:

npx playwright install


Voilà! Você está pronto para obter as últimas atualizações do Playwright!

Novo dramaturgo, os mesmos velhos problemas…

Não importa quão atualizada esteja sua versão do Playwright, a maioria dos sites ainda será capaz de detectar e bloquear seus scripts automatizados. Mas como isso é possível? Bem, navegadores sem cabeça controlados por bibliotecas como o Playwright envolvem configurações e ajustes especiais que são vistos como sinais de alerta por soluções anti-bot. A consequência? Bloqueios imediatos ou aparecimento indesejado de CAPTCHA e outros obstáculos incômodos .


Agora, você pode estar pensando: “Não posso simplesmente ajustar as configurações do meu navegador para evitar isso?”


Não tão rápido, garoto! Essa não é uma boa ideia por pelo menos três razões convincentes:


  1. É um jogo de gato e rato sem fim: as medidas anti-bot evoluem, tornando a solução alternativa de hoje uma notícia velha no futuro.
  2. Mesmo com as configurações de navegador mais inteligentes, solicitações excessivas do mesmo IP ainda podem gerar olhares suspeitos do site de destino.
  3. As interações do usuário, como envios de formulários, podem exigir a resolução de CAPTCHA, o que não é fácil de automatizar!


O problema não é com a biblioteca de automação do navegador em si (o Playwright é demais! 🤘), mas sim com o navegador sob controle. A solução seria um navegador altamente personalizável que:


  • É executado no modo direcionado como um navegador normal para evitar a detecção de bots.
  • Pode ser facilmente dimensionado para a nuvem para economizar tempo e dinheiro no gerenciamento de infraestrutura.
  • Fornece IPs rotativos apoiados por uma das redes proxy mais amplas e confiáveis do mercado
  • Pode gerenciar automaticamente a resolução de CAPTCHA, impressão digital do navegador, personalização de cookies e cabeçalhos e novas tentativas automáticas para obter máxima eficácia.
  • Integra-se com as bibliotecas de automação de navegador mais populares, como Playwright, Selenium e Puppeteer


Acredite ou não, isso não é uma miragem distante. Isso é real e é exatamente disso que se trata a solução Scraping Browser da Bright Data !


Pensamentos finais

Playwright é a estrela do rock das bibliotecas de automação de navegadores e, assim como o Papai Noel entrega presentes na véspera de Natal, a Microsoft lança uma atualização importante todos os meses. Aqui, você viu como aproveitar ao máximo as atualizações mais recentes do Playwright, mas, convenhamos, elas não o tornarão magicamente invisível para sites com tecnologias avançadas de detecção de bots.


Evite essa bala com a solução Scraping Browser da Bright Data e junte-se à nossa missão de tornar a Internet um local público para todos, em qualquer lugar, mesmo por meio de scripts automatizados!


Até a próxima, continue explorando a Web com liberdade!