오늘 배운 내용
Python 공부, selenium 공부 : 웹스크랩핑 or 웹 크롤링 관련
Leon_Kor
2020. 8. 22. 18:46
Selenium : 웹페이지 테스트 자동화
- pip install selenium 으로 selenium라이브러리 설치
- 추가로 웹드라이버 설치를 해줘야한다 (인터넷 익스플로, 크롬, 파이어폭스 등등 맞는 드라이버 설치) - 각 드라이버랑 pc에 깔린 드라이버 호환이 되는지 확인하기
- (크롬기준) 크롬 > chrome://version 이라 검색 후 chrom : xx.xx.xx.xx의 버전 확인, 혹은 우측 상단 점 3개 클릭 > 도움말 > Chrome정보 클릭
- chromedriver 검색 > 크롬 앞 84, 85, 83인지 버전에 맞는 드라이버 다운 > 다운받은 파일 파이썬 워크 스페이스에 압축풀기
- 준비 끝.
from selenium import webdriver
browser = webdriver.Chrome()
# Chrome 괄호 안에 chromedriver.exe 깔린 경로를 넣어준다
# 만약 같은 폴더 안에 있을 경우, 괄호 빈공간으로
browser.get("http://naver.com")
- 웹안에서 글자를 입력할 경우 (Keys.Enter)
- from selenium.webdriver.common.keys import Keys 선언
- 변수.send_keys("입력할 내용") // 해당 변수에 입력할 내용 입력하기
- 변수.send._keys(Keys.ENTER) // 해당 변수에 엔터키 누르기
import time
from selenium import webdriver
browser = webdriver.Chrome()
# 1. 네이버 이동
browser.get("http://naver.com")
browser.maximize_window() # 브라우저 최대화
# 2. 로그인 버튼 클릭
elem = browser.find_element_by_class_name("link_login")
elem.click()
# 3. ID와 PW 입력
browser.find_element_by_id("id").send_keys("naver_id")
browser.find_element_by_id("pw").send_keys("naver_pw")
# 4. 로그인 버튼 클릭
browser.find_element_by_id("log.login").click()
time.sleep(3) # 5초간 잠시 멈춤
# 5. ID 새로입력
#browser.find_element_by_id("id").send_keys("hello") # 이럴경우 기존에 있던 값에 덮어서 씌여짐
browser.find_element_by_id("id").clear()
browser.find_element_by_id("id").send_keys("hello")
# 6. html 정보 출력
# print(browser.page_source)
# 7. 브라우저 종료
# browser.close() # 현재 탭만 종료
# browser.quit() # 전체 브라우저 종료
# 8. 브라우저 띄우지 않고 하는 방법 - headless
# options = webdriver.ChromeOptions()
# options.headless = Ture
#
# browser = webdriver.Chrome(options = options)
# options.add_argument("window-size=각 컴퓨터의 해상도")
# 위 네개의 코드를 import 선언 다음 줄에 작성해준다.
#
# options.add_argument("user-agent=유저에이전트 값 복사해서 붙여넣으시요") ...headless크롬 쓸경우 차단될 때,