자동화/Playwright

Selenium -> Playwright로 코드 변환하기

소듀 2025. 6. 18. 21:26
728x90

웹 자동화 하면 가장 유명한 게 Selenium 입니다.

최근에는 Playwright가 나오면서 자동화 구현시 많이 이용하시는데요.

 

기존에 Selenium 코드를 Playwright로 변환하기 위해서 Selenium에서 자주 사용하는 코드들을 변환하는 방법을 소개합니다.

 

1. find_element

 

Selenium에서 클릭 등 엘리먼트를 찾을 때 사용하는 find_element는 Playwright에서 locator로 전환해 사용합니다.

주의할 점은 Playwright에서는 css select 처럼 class일 때는 "."을 ID일때는 "#"을 붙여서 사용해야 합니다.

 

Selenium

driver.find_element(By.CLASS_NAME, '클래스명').click()

 

Playwright

driver.locator('.클래스명').click()

2. send_keys

 

데이터를 입력할 때 사용하는 send_keys는 Playwright에서는 fill로 전환하여 사용합니다.

 

Selenium

driver.find_element(By.ID, 'ID명').send_keys('입력할 값')

 

Playwright

driver.locator('#ID명').fill('입력할 값')

3. assert

 

데이터 검증을 위해 사용하는 assert는 expect로 전환하여 사용합니다.

다만 텍스트 일치 등 특정한 상황에서는 expect보다 assert를 사용하는 방법이 더 간단하게 검증할 수도 있습니다.

 

Selenium

assert driver.find_element(By.CLASS_NAME, '클래스명').is_displayed()

assert text in "텍스트 포함 값"

 

Playwright

expect(driver.locator('.클래스명')).to_be_visible()

expect(text).to_contain_text('텍스트 포함 값')

4. Scroll_to_element

 

특정 element로 스크롤 이동하는 동작은 Playwright에서 scroll_into_view_if_needed로 간단하게 구현할 수 있습니다.

 

Selenium

element = driver.find_element(By.CLASS_NAME, '클래스명')
actions = ActionChains(driver)
actions.scroll_to_element(element)
actions.perform()

 

Playwright

element = driver.locator('.클래스명')
element.scroll_into_view_if_needed()

 

728x90