paint-brush
최신 업데이트 후 극작가를 최대한 활용하는 방법~에 의해@brightdata
1,894 판독값
1,894 판독값

최신 업데이트 후 극작가를 최대한 활용하는 방법

~에 의해 Bright Data5m2023/12/17
Read on Terminal Reader

너무 오래; 읽다

뭔지 맞춰봐? Microsoft는 시계처럼 새로운 버전의 Playwright를 출시했습니다! 버그 수정 및 API 변경 사항을 따라잡는 것은 풀타임 작업처럼 느껴질 수 있으며 멋진 기능을 놓치는 것은 순식간입니다. 하지만 걱정하지 마세요. 우리가 도와드리겠습니다! 우리는 여러분이 최신 정보를 얻고, 몇 가지 새로운 요령을 익히고, 여러분의 뛰어난 기술로 동료들을 놀라게 할 수 있도록 돕기 위해 왔습니다! 다이빙할 준비가 되셨나요? 갑시다!
featured image - 최신 업데이트 후 극작가를 최대한 활용하는 방법
Bright Data HackerNoon profile picture
0-item
1-item
2-item
3-item
4-item


뭔지 맞춰봐? Microsoft는 시계처럼 새로운 버전의Playwright를 출시했습니다! 버그 수정 및 API 변경 사항을 따라잡는 것은 풀타임 작업처럼 느껴질 수 있으며, 멋진 기능을 놓치는 것은 순식간입니다. 하지만 걱정하지 마세요. 우리가 도와줄게!


최신 극작가 업데이트를 통해 여행에 참여하세요. 우리는 여러분이 최신 정보를 얻고, 몇 가지 새로운 요령을 익히고, 여러분의 뛰어난 기술로 동료들을 놀라게 할 수 있도록 돕기 위해 왔습니다! 다이빙할 준비가 되셨나요? 갑시다!


극작가 최신 업데이트(v1.04)

몇 가지 멋진 예를 통해 최신 Playwright 업데이트를 직접 보고 싶다면 Playwright YouTube 채널 로 이동하여 월간 "Playwright의 새로운 기능" 동영상을 시청하세요.

Playwright에 도입된 최신 기능을 살펴보고 이를 최대한 활용하는 방법을 알아볼 시간입니다 🔍

새로운 API

  • FirefoxUserPrefs 필드가 browserType.launchPersistentContext(userDataDir, options)options 개체 인수에 추가되었습니다. 해당 메소드는 userDataDir 에 있는 영구 저장소를 사용하여 브라우저를 시작하고 브라우저 컨텍스트 인스턴스를 반환합니다. firefoxUserPrefs `는 about:config 에 지정된 Firefox 사용자 기본 설정을 포함하는 개체입니다.
  • page.close(options) , browserContext.close(options)browser.close(options) 메소드의 options 객체 인수에 reason 필드가 추가되었습니다. reasonclose() 호출의 결과로 중단된 모든 작업에서 보고된 오류 메시지가 포함된 문자열입니다.


firefoxUserPrefs 사용자 정의 구성이 필요한 Firefox 사용자에게 특별히 맞춰져 있지만 reason 필드는 훨씬 더 일반적인 용도입니다. 아래 스니펫과 같이 사용하세요.


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


browser.close() 에 의해 중단된 모든 보류 작업은 이제 "스크래핑 프로세스가 완료되었습니다!"라는 메시지와 함께 JavaScript 오류를 발생시킵니다.


이 기능을 사용하는 방법은 무엇입니까? 귀하의 대상 페이지가 중요한 작업을 수행 중이라고 상상해 보십시오. 예를 들어 일부 데이터가 검색되기를 기다리고 있다고 가정해 보겠습니다. 갑자기 예상치 못한 오류가 발생하고 브라우저를 정상적으로 닫아야 하는 상황에 직면하게 됩니다.


reason 없으면 진행 중인 작업에 대한 리소스가 해제되었는지 여부와 작업이 중단된 이유에 대해 알 수 없습니다. 무슨 일이 일어나고 있는지 모르는 것은 나쁜 일입니다. 특히 자동화된 웹 스크래핑 스크립트의 로그에서 오류의 원인을 검사해야 하는 경우에는 더욱 그렇습니다. 여기서 '이유' 필드가 구출되어 힘든 조사 시간을 절약할 수 있습니다.


훌륭합니다. 이 API 도입으로 디버깅이 훨씬 쉬워졌습니다! 🚀

테스트 생성기 도구의 새로운 기능

브라우저에서 작업을 수행할 때 자동으로 테스트를 생성하도록 설계된 Playwright 테스트 생성기 도구는 이제 다음 버튼을 제공합니다.


  • 가시성 확인 : expect(locator).toBeVisible() 명령을 생성하여 선택한 요소가 표시되는지 확인하십시오.
  • Assert text : expect(locator).toContainText() 명령어를 통해 선택한 HTML 요소에 특정 텍스트가 포함되어 있는지 확인하세요.
  • 값 확인 : 테스트에 expect(locator).toHaveValue() 명령을 추가하여 선택 요소에 특정 값이 있는지 확인하세요.


이것을 상상해 보십시오 : 당신은 동적 웹 페이지를 위한 웹 스크레이퍼 구축 과 같은 복잡한 작업을 수행하고 있습니다. 페이지의 일부 요소가 표시되고 특정 텍스트나 값이 포함되어 있는지 확인해야 한다고 가정해 보겠습니다. 여기에는 복잡한 논리가 필요합니다 👎. 하지만 잠깐만 기다려 주세요. 이 새로운 업데이트 덕분에 모든 것이 테스트 생성기 도구에서 몇 번의 클릭만으로 끝납니다!


다음 GIF에서 이 새로운 기능이 실제로 작동하는 모습을 확인하세요.


극작가테스트 생성기 도구


해당 테스트 생성기 상호 작용은 다음과 같은 TypeScript 테스트를 생성합니다.


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

✨ 정말 마법같지 않나요? ✨

업데이트된 브라우저 버전

Playwright의 주요 업데이트라는 전통에 따라 지원되는 브라우저 라인업이 최신 버전으로 업데이트되었습니다.

  • 크롬 120.0.6099.28
  • 모질라 파이어폭스 119.0
  • 웹킷 17.4


하지만 그게 전부는 아닙니다! Playwright의 현재 버전은 다음과 같은 안정적인 채널에서도 탁월한 것으로 입증되었습니다.

  • 구글 크롬 119

  • 마이크로소프트 엣지 119


기타 사소한 변경 사항

  • 이제 다운로드 작업이 실패하거나 취소되면 download.path()download.createReadStream() 메서드에서 오류가 발생합니다.

  • 이제 Playwright Docker 이미지가 Node.js v20과 함께 제공됩니다.


새로운 업데이트를 놓치고 싶지 않으신가요? Playwright 릴리스 노트 페이지를 주목하세요!

극작가를 업데이트하는 방법

이제 여러분은 "이 환상적인 새 추가 기능을 어떻게 얻을 수 있을까?"라고 생각하고 계실 것입니다. 글쎄, Playwright를 최신 버전으로 업데이트하면 친구!


아래 명령을 실행해 보세요.

npm install @playwright/test@latest

그리고 다음을 사용하여 브라우저 인스턴스를 업그레이드하는 것을 잊지 마세요.

npx playwright install


짜잔! 최신 Playwright 업데이트를 받아볼 준비가 모두 완료되었습니다!

신인 극작가, 똑같은 문제…

Playwright 버전이 아무리 최신이더라도 대부분의 사이트는 여전히 자동화된 스크립트를 감지하고 차단할 수 있습니다. 그런데 그게 어떻게 가능할까요? Playwright와 같은 라이브러리에 의해 제어되는 헤드리스 브라우저에는 안티 봇 솔루션에 의해 위험 신호로 표시되는 특수 구성 및 설정이 포함됩니다. 결과는? CAPTCHA 및 기타 성가신 장애물이 즉시 차단되거나 원치 않는 모습으로 나타납니다.


이제 "이 문제를 방지하기 위해 브라우저 설정을 조정할 수는 없을까?"라고 생각할 수도 있습니다.


그렇게 빠르지는 않아, 꼬마야! 이는 적어도 세 가지 설득력 있는 이유로 인해 좋은 아이디어가 아닙니다.


  1. 끝없는 고양이와 쥐 게임입니다. 봇 방지 조치가 발전하여 오늘의 해결 방법이 내일이면 오래된 뉴스가 됩니다.
  2. 가장 매끄러운 브라우저 구성을 사용하더라도 동일한 IP에서 과도한 요청이 발생하면 대상 사이트에서 여전히 의심스러운 시선을 받을 수 있습니다.
  3. 양식 제출과 같은 사용자 상호 작용에는 CAPTCHA 해결이 필요할 수 있습니다. 이는 자동화하기 위해 공원을 산책하는 것이 아닙니다!


문제는 브라우저 자동화 라이브러리 자체(극작가가 흔들립니다! 🤘)에 있는 것이 아니라 브라우저를 제어하는 데 있습니다. 솔루션은 다음과 같은 기능을 갖춘 고도로 사용자 정의 가능한 브라우저입니다.


  • 봇 감지를 피하기 위해 일반 브라우저처럼 헤드 모드에서 실행됩니다.
  • 클라우드로 쉽게 확장하여 인프라 관리에 드는 시간과 비용을 절약할 수 있습니다.
  • 시장에서 가장 광범위하고 안정적인 프록시 네트워크 중 하나를 통해 지원되는 순환 IP를 제공합니다.
  • CAPTCHA 해결, 브라우저 지문 채취, 쿠키 및 헤더 사용자 정의, 자동 재시도를 자동으로 관리하여 효과를 극대화할 수 있습니다.
  • Playwright, Selenium, Puppeteer 등 가장 널리 사용되는 브라우저 자동화 라이브러리와 통합됩니다.


믿거나 말거나, 그것은 머나먼 신기루가 아닙니다. 이것이 바로 Bright Data의 스크래핑 브라우저 솔루션의 핵심입니다!


마지막 생각들

Playwright는 브라우저 자동화 라이브러리의 록스타이며 산타클로스가 크리스마스 이브에 선물을 배달하는 것처럼 Microsoft는 매달 새로운 주요 업데이트를 출시합니다. 여기에서는 최신 Playwright 업데이트를 최대한 활용하는 방법을 살펴보았지만 현실을 직시하면 고급 봇 감지 기술을 갖춘 사이트에서 마술처럼 사용자를 숨길 수는 없습니다.


Bright Data 의 Scraping Browser 솔루션으로 그 총알을 피하고 인터넷을 자동화된 스크립트를 통해서도 어디서나 모든 사람이 사용할 수 있는 공공 장소로 만드는 우리의 사명에 동참하세요!


다음 시간까지 자유롭게 웹을 탐색해 보세요!