BLOG/웹크롤링
[웹크롤링] 버튼 클릭하는 방법 - xpath (selenium, 크롬 드라이버)
알디노
2021. 3. 18. 11:00
웹크롤링할 때, 페이지에서 버튼을 클릭하는 방법은 다양한데요, 그중에서 많이 사용되는 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를 알면 해당 버튼을 누를 수 있답니다.