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

+ Recent posts