1. import 및 기본으로 실행시킬 코드들
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
# 크롬창을 driver로 정의
chromedriver = '/Users/aiden/Dropbox/Mac/Desktop/chromedriver'
driver = webdriver.Chrome(chromedriver)
# 크롤링할 사이트 호출
driver.get("http://www.python.org")
2. element 찾기 주요 함수
# 엘리먼트(element) : 홈페이지를 이루고 있는 다양한 요소들을 부르는 말.
# 엘리먼트 찾기 : 크롬창(F12) - 오른쪽 화면의 상단의 네모칸 화살표 있는 버튼을 누릅니다.
● id, name, class 있을 때는 이 3개로 찾는다.
element = driver.find_element_by_id(‘id’)
element = driver.find_element_by_name(‘name’)
element = driver.find_element_by_css_selector(‘#tsf .gLFyf.gsfi’)
● id, name, class없을 때 xpath 이용한다.
element = driver.find_element_by_xpath("""//*[@id="snb"]/div/ul/li[1]/a""").click( ) # 정렬 버튼의 xpath 클릭
● 링크된 text로 찾을 때
element = driver.find_element_by_link_text('text')
● 기타
element = driver.find_element_by_class_name(‘some_class_name’)
element = driver.find_element_by_tag_name(‘h1’)
3. 브라우저 컨트롤 주요 함수
● driver 컨트롤하는 명령어들
driver.back() # 뒤로 가기
driver.foward() # 앞으로 가기
driver.switch_to.window(driver.window_handles[-1]) # 최근 열린 탭으로 전환
driver.close() # 현재 탭 닫기
driver.switch_to.window(driver.window_handles[0]) # 맨 처음 탭으로 변경(0번 탭)
alert = driver.switch_to.alert # alert창-“확인” 누르기
alert.accept() #
time.sleep(1) #
● 버튼 클릭
button = driver.find_element_by_css_selector(ele)
AC(driver).move_to_element(button).click().perform() # 버튼 클릭
driver.find_element_by_id("_search_option_btn").click( ) # 서치 옵션 버튼 클릭
● 인풋 받기
input('사용자에게 받을 내용 : ') # 인풋 받아서 변수로 사용 가능
● 검색창에 검색어 입력 후 검색버튼 클릭
# 네이버 검색어 입력 후 검색
element = driver.find_element_by_name("query")
element.clear()
element.send_keys(name)
element.submit()
● 텍스트 제거 및 입력
# 한글자씩 입력창에 입력
s_date = driver.find_element_by_xpath("""//*[@id="blog_input_period_begin"]""") # 날짜 입력할 부분 선택
s_date.clear( ) # 날짜 입력 부분에 기존에 입력되어 있던 날짜를 제거
start_date = “2019-04-05”
for c in start_date:
s_date.send_keys(c)
time.sleep(0.3)
# 크롬 브라우저 닫기
driver.close()
'크롤링 > 셀레늄' 카테고리의 다른 글
Headless Chrome & chromedriver options (0) | 2021.09.22 |
---|---|
PhantomJS (0) | 2021.09.22 |
셀레늄 - driver.페이지 소스보기 (0) | 2021.09.22 |
셀레늄 - 검색창에 검색어 입력하고 엔터 (0) | 2021.09.22 |
셀레늄 팝업창 확인 클릭 (0) | 2021.09.15 |