웹 요소(Web elements)
웹 요소(Web elements)
Selenium 코드를 짜다 보면 결국 가장 많이 붙잡고 있는 게 웹 요소예요. 대부분의 Selenium 코드가 바로 이 웹 요소를 식별하고 다루는 일을 하고 있죠. 요소를 찾는 것부터 시작해서, 그 요소에 값을 입력하고, 클릭하고, 상태를 확인하는 작업까지 전부 여기서 출발해요.
DOM 안에서 원하는 요소 객체를 찾아내는 방법과, 그 요소를 대상으로 할 수 있는 작업이 무엇인지를 정리한 문서예요. 요소를 어떻게 찾을지는 '로케이터 전략'이, 찾은 요소에 어떤 동작을 시킬지는 '상호작용'이 이어서 자세히 설명해 줘요.
본문
웹 요소 작업은 크게 두 단계로 나눌 수 있어요.
먼저 요소를 찾는 단계예요. findElement / findElements 같은 메서드에 로케이터를 넘겨서 원하는 요소를 DOM에서 식별해요. 찾는 방식은 여러 가지가 있는데, ID나 클래스 이름, CSS 선택자, XPath처럼 상황에 맞는 전략을 고르게 되죠. 로케이터에 대한 자세한 내용은 아래 링크로 이어져요.
다음은 찾은 요소를 다루는 단계예요. 요소를 찾았다면 그 요소에 대해 클릭(click), 키 입력(send keys), 내용 지우기(clear), 폼 제출(submit), 선택(select) 같은 동작을 수행할 수 있어요. 이 동작들은 사용자의 실제 경험을 흉내 내도록 설계되어서, 행동하기 전에 화면 안에 요소가 보이는지, 상호작용이 가능한 상태인지 먼저 확인해요.
요소가 화면 밖에 있으면 자동으로 스크롤해 화면 안으로 끌어들이고, 상호작용이 불가능한 상태라면 그 점을 알려주는 방식이죠. 이 부분이 바로 Selenium이 단순히 명령만 내리는 도구가 아니라, 사용자가 하는 것과 유사한 경험을 재현하려는 이유예요.