본문 바로가기

BLOG/웹크롤링

[웹크롤링] 버튼 클릭하는 방법 - xpath (selenium, 크롬 드라이버)

 

웹크롤링할 때, 페이지에서 버튼을 클릭하는 방법은 다양한데요, 그중에서 많이 사용되는 xpath를 이용한 버튼을 클릭하는 방법에 대해서 살펴보도록 하겠습니다.

(selenium, 크롬 드라이버를 사용한다는 가정하에서 설명드리겠습니다.)

 

 

- xpath : 버튼 클릭하기

먼저, 다음 코드를 입력해서 네이버 홈페이지를 열도록 하겠습니다.

 

from bs4 import BeautifulSoup     
from selenium import webdriver

path = "c:/temp/chromedriver_240/chromedriver.exe"   #자신의 chomedriver의 경로 위치
driver = webdriver.Chrome(path)

driver.get("https://naver.com")

 

위 코드를 실행하면 새로운 크롬 창이 뜨고 네이버 홈페이지가 나오는데요,

아래 이미지의 오른쪽 상단에 있는 검색 버튼을 누르고 싶다면 어떡해야 할까요?

 

 

바로 검색버튼의 xpath를 이용해서 쉽게 버튼을 누를 수 있는데요,

먼저 xpath를 복사하는 방법은 다음과 같습니다.

 

 

먼저 f12를 누른 다음, ctrl+shift+c 를 누른 뒤 검색 버튼을 클릭하면 해당 태그가 나오게 되는데요, 오른쪽 해당 태그에서 마우스 우클릭을 누른 뒤 [copy] -> [Copy XPath] 를 누르면 해당 xpath가 복사됩니다.

xpath를 붙여놓기 하면 //*[@id="search_btn"]/span[2]와 같은 코드가 출력되는 것을 확인할 수 있습니다.

 

그리고나서 xpath를 이용하여 버튼을 클릭하는 find_element_by_xpath() 함수를 이용하여 다음과 같이 코드를 작성하면 됩니다.

 

driver.find_element_by_xpath('//*[@id="search_btn"]/span[2]').click()

 

이제 위 코드를 실행하면 검색 버튼이 눌러지는 것을 구현할 수 있습니다.

이처럼 어느 버튼이든 xpath를 알면 해당 버튼을 누를 수 있답니다.