RPA/Python

[selenium] Xpath 등을 이용하여 Element 동작 처리하기

꼰대 2021. 5. 5. 16:27

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

 

# 드라이버 생성

driver = webdriver.Chrome()

# 네이버 이동

driver.get('https://www.naver.com')

 

 

# 1. 네이버 첫 페이지에서 '카페'를 찾아 클릭

# '카페' 글자가 텍스트여서 텍스트 찾기로 가능하다.

# '카페'라는 이름의 첫번째 Element 찾기

# elem.get_attribute('href')와 같이 attribute 값 확인 가능

elem = driver.find_element_by_link_text('카페')

 

# Element 클릭하기

elem.click()

 

# 2. 네이버 검색창의 Xpath값으로 첫번째 Element 찾기

# Xpath 찾기는 아래 설명

elem = driver.find_element_by_xpath('//*[@id="query"]')

 

# 검색창고 같이 Element가 텍스트 입력이 가능할 경우

# 검색창에 글자입력

elem.send_keys('selenium')

# 검색어 입력 후 enter키 치기

elem.send_keys(Keys.ENTER)

# 검색창 필드 지우기

elem.clear()

 

# 3. 현재 페이지에서 'a' 태그를 가지고 있는 모든 Element 찾기

elems = driver.find_elements_by_tag_name('a')

for elem in elems:

    print(elem.get_attribute('href'))

 

# 참고 : 다른 페키지로 Element 찾기

# from selenium.webdriver.common.by import By

# elem = driver.find_element(By.XPATH, '//*[@id="query"]')

 

 

 

=====================================================

* Xpath값 확인하기 (Chrome)

Xpath값 확인에는 두가지 방법이 있다.

 

1. 찾고자하는 Element를 마우스 우측 버튼으로 클릭하여 검사 선택

 

 

2. 우측 HTML 소스창에 하이라이트된 부분 (해당 Element)을 우측 버튼으로 클릭하여 'Copy > Copy Xpath'를 클릭하여 클립보드에 복사한다.

 

 

3. 붙여넣기하면 Xpath값은 아래와 같다.

//*[@id="query"]

 

 

4. 두번째 방법으로는 F12를 눌러 개발자도구를 연다.

 

5. 개발자 도구 좌측 상단의 아이콘을 클릭한다.

 

 

6. WEB화면에서 원하는 Element에 마우스로 선택하면 우측 개발자도구의 소스에 해당 부분이 하이라이트되며 Xpath 복사는 위 첫번째 방법과 동일하다.

 

반응형