자동화/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