selenium webdriver find_element_by_xpath
xpath (XML Path Language)
xpath란?
W3C의 표준으로 XML(Extensible Markup Language)문서의 구조를 통해 경로(Path)위에 지정한 구문을 사용하여 항목을 배치하고 처리하는 방법을 기술하는 언어입니다. XML 표현보다 더 쉽고 약어로 되어 있으며, XSL변환(XSLT)과 XML지시자 언어(XPointer)에 쓰이는 언어로 XML 문서의 Node를 정의하기 위하여 경로식(Path Expression)을 사용하며, 수학 함수와 기타 확장 가능한 표현들이 있습니다.
- Node 선택
python 예제 코드:
# name 속성 값을 가지는 div element들을 가져온다.
div_elems = driver.find_elements_by_xpath("//div[@name]")
- 술부(Predicates)
- […] 형태로 기술되며, 특정 값이나 조건에 해당 되는지 여부를 판별
- 불특정 노드 선택
python 예제 코드:
# 속성 값을 가지는 모든 div element들을 가져온다.
div_elems = driver.find_elements_by_xpath("//div[@*]")
- 복수경로 선택
- 여러 경로를 사용하여 Node를 선택합니다.
python 예제 코드:# 문서 상의 모든 div element와 p element들을 가져온다. div_p_elems = driver.find_elements_by_xpath("//div | //p")
- 여러 경로를 사용하여 Node를 선택합니다.
- 축(Axis)
- 현재 node와 관련된 Node 셋을 정의
- 이 밖에도 xpath는 문자열 함수, 노드셋 함수, 수치 함수, 불리언 함수 등 여러 함수 라이브러리가 있다. 산술 연산도 있으니, 자세한 사항은 이 링크를 참고하자.xpath에 관련한 수많은 예제들도 w3school을 통해 확인할 수 있다.