728x90
selenium : 웹사이트 자동화 및 테스트를 위한 도구
selenium 활용예시
-웹사이트 로그인 자동
-컨텐츠 업로드 자동화
-좋아요 자동으로 누르기
-쪽지 자동으로 보내기
-예약 매크로
-메일 자동으로 보내기
selenium 라이브러리 설치
pip install selenium
selenium 기본 템플릿은 아래와 같다
복붙해서 사용하자
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# 준비물 : 크롬 드라이버를 다운받기 위해서는 크롬 브라우저가 깔려 있어야함
# 크롬 드라이버(크롬을 제어하는 도구) 생성
driver = webdriver.Chrome()
# 페이지 이동
# 태그찾기
search = driver.find_element(By.CSS_SELECTOR, "#query")
# 1. 클릭
search.click()
# 2. 문자 입력
search.send_keys('쿠팡')
# 3. 키 입력
search.send_keys(Keys.ENTER)
전체적인 모습
여기서
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# 준비물 : 크롬 드라이버를 다운받기 위해서는 크롬 브라우저가 깔려 있어야함
# 크롬 드라이버(크롬을 제어하는 도구) 생성
driver = webdriver.Chrome()
이부분만 이렇게 실행해 보면 아래처럼 아무것도 없는
크롬이 자동화된 테스트 소프트웨어에 의해 제어되고 있다고 창이하나 뜸.
이 웹브라우저를 파이썬에서 왔다리갔다리 마음대로 제어가 가능하다.
여기서 네이버로 이동하고
# 페이지 이동
태그를 찾아서
search 변수에 담아준다.
# 태그찾기
search = driver.find_element(By.CSS_SELECTOR, "#query")
이후
1.search(검색어 입력 창)을 클릭하고
2. '원하는 검색어를 입력'
3.엔터
# 1. 클릭
search.click()
# 2. 문자 입력
search.send_keys('쿠팡')
# 3. 키 입력
search.send_keys(Keys.ENTER)
아래처럼 결과 짠!!
보너스
from selenium import webdriver
options = webdriver.ChromeOptions()
# headless 옵션 설정
options.add_argument('headless')
options.add_argument("no-sandbox")
# 브라우저 윈도우 사이즈
options.add_argument('window-size=1920x1080')
# 사람처럼 보이게 하는 옵션들
options.add_argument("disable-gpu") # 가속 사용 x
options.add_argument("lang=ko_KR") # 가짜 플러그인 탑재
options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36') # user-agent 이름 설정
# 드라이버 위치 경로 입력
driver = webdriver.Chrome('./chromedriver.exe', chrome_options=options)
driver.implicitly_wait(3)
driver.get_screenshot_as_file('capture_naver.png') # 화면캡처
driver.quit() # driver 종료
'Python > Selenium' 카테고리의 다른 글
[Selenium] 구글 드라이버 제어 명령어 (1) | 2024.10.12 |
---|---|
[Selenium] 메일 자동화 iframe 제어 방법 (0) | 2024.10.12 |
[Selenium] 메일 자동화 새창 제어 방법 (0) | 2024.10.12 |
[Selenium] 로그인 자동화 프로그램 (캡차 우회) (0) | 2024.10.11 |
[Selenium] 동적 페이지 크롤링 하기! (0) | 2024.10.11 |