find element, elements 차이점

병참·2024년 4월 27일

Appium Selenium 코드를 작성하다가 find_element와 find_elemets 의 차이점이 궁금해 져서 찾아 보았습니다.

어느 시점에 Element와 Elements 를 사용해야 하는지 알아 보겠습니다

Find_element

  1. 사용시 동일한 Element의 첫 번째 요소를 Return합니다.
  2. 일치하는 Element가 없으면 예외를 발생시킵니다 (NoSuchElementException)
  3. 특정 Element가 페이지에 존재하는지와 그 element를 직접 조작할 필요가 있는 경우에 사용됩니다. ->> find element로 특정 요소의 존재를 찾고 True, Fasle 를 반환하는 형식으로 코드를 짤 수 있습니다.

Find_elements

  1. 주어진 선택자와 일치하는 모든 요소들의 리스트를 반환합니다.
    한 화면에 동일한 ID를 가진 element나 css_selector를 리스트로 반환하는 것이죠.
  2. 이 메소드는 일치하는 요소가 없어도 예외를 발생시키지 않고 빈 리스트를 반환합니다.

그러면 동일한 ID 를 부여받은 Element 중 2번째를 선택하고 싶다면 인덱스 넘버로 구분하면 됩니다.

def test_find_battery(self) -> None:
        el = self.driver.find_element(by=AppiumBy.ID, value='same_element')[1]
        el.click()

이런식으로 Index 값을 부여해주면 정상적으로 동일한 Element 값의 2번째 요소를 찾을 수 있습니다.

0개의 댓글