□ 주 사용 라이브러리
○ 셀레니움
○ 셀레니움 > 웹드라이버 구동
○ 셀레니움 > 웹드라이버 > 옵션 라이브러리
○ 타임지정
# 필요 라이브러리 호출
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options #자동꺼짐방지옵션 라이브러리
import time #타임설정
□ 주 사용 함수
○ 드라이버 구동 : .webdriver.Chrome( )
○ 생성창 최대크기 : .maximize_window()
○ 생성창 크기지정 : .set_window_size(가로,높이)
○ 생성창 위치좌표 : .set_window_position(행위치, 열위치)
○ 타겟 주소 지정함수 : .get('주소')
○ id value를 활용한 값 입력 : .find_element(by='id', value='값').send_keys(입력값)
○ id value를 활용한 클릭 : .find_element(by='id', value='값').click()
# 필요 라이브러리 호출
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options #자동꺼짐방지옵션 라이브러리
import time #타임설정
#ID/PW 변수지정
per_id = '아이디'
per_pw = '비밀번호'
# 브라우저 자동 꺼짐옵션지정
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)
# 드라이버 저장 경로를 활용하여 드라이버 변수 지정
core_driver = webdriver.Chrome(options=chrome_options) #예전 셀리니움 버젼에는 경로를 직접지정했으나, 업데이트 되어 경로입력을 안해도됨
#core_driver.maximize_window() #생성창 최대크기로 지정
core_driver.set_window_size(700,1000) #생성창 크기 커스터마이징 : set_window_size(가로길이, 높이길이)
core_driver.set_window_position(1200, 0) #행위치, 열위치)
print('■■■■드라이버 실행 완료')
# 접속 페이지 지정
core_driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/")
print(f'■■■■현재 url 주소\t:\t{core_driver.current_url}')
print(core_driver.current_url)
while core_driver.current_url == 'https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/':
core_driver.find_element(by='id', value='id').send_keys(per_id)
core_driver.find_element(by='id', value='pw').send_keys(per_pw)
print('■■■■네이버 진입 및 계정/비번 입력완료')
core_driver.find_element(by='id', value='log.login').click()
time.sleep(1)
if core_driver.current_url == 'https://nid.naver.com/nidlogin.login':
# 인증 : 비밀번호 입력
core_driver.find_element(by='id', value='pw').send_keys(per_pw)
# 인증 : 번호 및 텍스트 입력
certification_value = input('★★★★★★★★★★★★★★★★★★★★★★\n인증 값을 입력해주세요\t:\t')
core_driver.find_element(by='id', value='captcha').send_keys(certification_value)
# 액션 : 로그인 버튼클릭
core_driver.find_element(by='id', value='log.login').click()
print('인증 완료')
else:
break
core_driver.maximize_window() #생성창 최대크기로 지정
time.sleep(4)
# 액션 : 클릭
core_driver.find_element(By.XPATH, value = '//*[@id="shortcutArea"]/ul/li[3]/a/span[1]').click()
print('■■■■블로그 페이지 접속완료')
time.sleep(4)
core_driver.quit()
print('■■■■종료')
'Python > Python_Crawling' 카테고리의 다른 글
셀레니움 : 구글 검색어 입력 및 기사 접속, 화면 스크린샷(캡쳐) (0) | 2024.01.18 |
---|---|
셀레니움 : 네이트 메뉴버튼클릭 및 댓글작성, 알럴트(경고)창 통제 (0) | 2024.01.18 |
openpyxl을 활용한 데이터 크롤링 및 엑셀저장 (0) | 2023.12.27 |
openpyxl : 엑셀파일 저장 (0) | 2023.12.27 |
반복문을 활용한 페이지별 크롤링 (1) | 2023.12.21 |