본문 바로가기
파이썬

[파이썬] 셀레니움(selenium) find_element, xpth

by 코딩라이프 2022. 11. 15.

※selenium 4.6.0 버전을 기준으로 작성하였습니다.

 

selenium webdriver의 find_element 메소드를 이용하여 element를 찾는 방법에 대해 알아보겠습니다.

1. 먼저 selenium의 webdriver를 임포트합니다.

from selenium import webdriver

 

2. 크롬 드라이버를 사용하여 브라우저를 실행합니다.

driver = webdriver.chrome()

 

 

3. 다양한 방법으로 elemet를 찾는 방법을 알아보겠습니다.
id로 element 찾기
driver.find_element('id','id값')

■ name으로 element 찾기
driver.find_element('name','name값')

 

■ 하이퍼링크 텍스트로 element 찾기
driver.find_element('link text','링크텍스트')
driver.find_element('pitial link text','링크텍스트의 일부')

■ 태그명으로 element 찾기
driver.find_element('tag name','태그명')

■ 클래스명으로 element 찾기
driver.find_element('class name','클래스명')

 css셀렉터로 element 찾기
driver.find_element('css selector','css셀렉터')


xpath로 element 찾기

xpath란, 마크업 언어에서 특정 요소를 찾기위한 경로(path)를 의미합니다.

xpath의 구문을 만들 때 속성과 속성 값에 해당하는 요소를 사용하여 xpath를 만듭니다.

절대경로와 상대경로의 개념이 있으며 슬래시 하나(/)를 사용하여 절대경로는 표현하며

슬래시 두개(//)를 사용하여 상대경로를 표현합니다.

 

driver.find_element('xpath','/상위태그명/하위태그명[요소번호]')
driver.find_element('xpath','//태그명[요소번호]')
driver.find_element('xpath','//태그명[@요소명=요소값]')
driver.find_element('xpath','//상위태그명[하위태그명/@요소명=요소값]')
driver.find_element('xpath','//상위태그명[@요소명=요소값]/하위태그명[요소번호]')
driver.find_element('xpath','//태그명[@요소명=요소값][@요소명=요소값]') 등...

 

xpath를 만드는 과정이 복잡해보이지만, 개발자도구에서 xpath를 만들고자 하는 요소에 마우스 오른쪽 버튼을 클릭하여 [Copy] - [Copy-XPath] 를 선택하여 쉽게 얻을 수 있습니다.