Selenium에게 어떠한 요소의 위치를 알려주기 위해서는 locator identifier로 요소를 알려줄 필요가 있다.
그래야 해당 요소에 접근해서 원하는 어떠한 동작을 할 수 있다.
해당 요소(Element)를 인식하기 위해서는 어떠한 태그, 아이디, 클래스 등의 attribute를 인식할 수 있어야한다.
그렇다면 어떻게 이 정보들을 얻을 수 있을까?
→ 보통은 Web Browser의 Developer Tool에서 확인할 수 있다…!!
Selenium에서 지원하는 locator는 다음과 같다
Web element는 getElement(By by)
로 찾을 수 있다.
By에는 위 6개의 locator를 식별하는 메소드가 존재한다.
Selenium에게 줄 수 있는 Unique한 요소의 정보이다.
LinkText
는, 링크로 쓰이는 a
tag의 텍스트를 찾아내서 하는 것이다.
링크는 무조건 a태그가 쓰인다. 이 외의 위 요소들의 값들은, 존재하지 않을 수도 있다.
class
에는 스페이스가 들어있으면 안된다.
때문에 여러개의 class가 쓰일때는 특정 요소를 className으로만 특정짓기는 어렵다.
또한 요소는 Top-left에서부터 순차적으로 검색하여 찾아낸다.
순차적으로 찾아내어 나온 제일 첫 번째 요소에 대하여 어떠한 행위를 실행한다.
정확하게 원하는 요소를 추출할 수 있는 방법이다.
Chrome에서는 CSS만 추출해낼 수 는 없다.
Chrome > console에서 $x(“”) 으로 xpath가 제대로 올바른지를 확인할 수 있다.
더블 쿼테이션 내부의 더블 쿼테이션은 싱글 쿼테이션으로 바꾸어야한다.
프로그램을 실행하기 전에 Path를 한 번 더 확인하는 것이 좋다.
CSS를 xpath와 같은 문법으로 하면 좋음.
Css Selector ‘#id .class
Find the unique attribute