STUDY/programing

파이썬 셀리니엄(Selenium)을 이용해서 웹 클릭하기

UberSleep 2021. 7. 30. 22:43
728x90

 웹크롤링을 하기위해 Selenium부터 차근차근 공부하려고 합니다. Beautiful Soup와 비교했을 때 속도는 더 느리다고 하지만 이해하기도 쉽고 더 많은 것을 구현할 수 있을 것 같습니다. 둘다 사용해서 적절하게 조합하면 좋겠지만 그정도의 코딩 실력이 안되네요ㅠ..

파이썬 셀레니엄

 

1. Selenium이란?

  Selenium이란 웹 응용프로그램을 테스트하는 도구로 버튼을 누르거나 내용을 불러오며 기타 기능이 정상적으로 작동하는지를 테스트하기 위한 라이브러리입니다.

 

2. 연습하기 

 (1) Chrome실행과 Title, url 정보 얻기

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver=webdriver.Chrome() #Webdriver를 Chrome으로 설정 (Chrome.exe파일을 python과 동일한 파일에 넣기)

driver.get("https://www.naver.com/") #Chrome 실행

print(driver.title) #title 불러오기
print(driver.current_url) #url 불러오기

driver.close() #Chrome 종료

결과값

NAVER
https://www.naver.com/

 

(2) 웹에서 클릭하기

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver=webdriver.Chrome()

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

print(driver.title) #title
print(driver.current_url) #url

driver.find_element_by_xpath("//*[@id='NM_FAVORITE']/div[1]/ul[1]/li[3]/a").click() #xpath값 클릭하기

time.sleep(5)

# driver.close() #현재 브라우저만 닫기

driver.quit() #모든 브라우저 닫기

 

** xpath 찾는 법

[Ctrl]+[Shift]+C를 누른 후 클릭을 원하는 곳의 HTML에 오른쪽 마우스를 누르면 Copy Xpath가 있음. 복사해서 Xpath()안에 넣어주면 됨.

Xpath

 

(3) 웹 이동하기 / 이전화면과 다음화면

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver=webdriver.Chrome()

driver.get("https://www.naver.com/") #첫번째 브라우저
print(driver.title) #title

driver.get("https://dict.naver.com/") #2번째 브라우저
print(driver.title) #title

driver.back() #이전화면
print(driver.title) #title

driver.forward() #다음화면
print(driver.title) #title

결과값

NAVER
네이버 사전 (NAVER dictionary)
NAVER
네이버 사전 (NAVER dictionary)

 

 

728x90