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()안에 넣어주면 됨.
(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
'STUDY > programing' 카테고리의 다른 글
파이썬으로 새폴더 만들기, 텍스트 파일에 데이터 넣기 (0) | 2021.07.26 |
---|---|
[jquery] input value에 따라 label 숨기기, 보이기 (0) | 2020.11.26 |
python 설치 및 개발환경 설정(atom 에디터 사용) (0) | 2020.03.17 |
이미지 클릭시 새창 팝업 띄우기 (0) | 2019.09.15 |
li 개수에 따라 폭(width) 나누기 (0) | 2019.09.13 |
PHP 이름 *표 마스킹하기 (익명처리) (0) | 2019.05.17 |