본문 바로가기

Python_Crawling/Crawling

[Selenium]Python Study - PPT Presentation Material - 2

 드라이버 조작

메서드명

설명

add_cookie(cookie_dict)

쿠키 값을 딕셔너리 형식으로 지정

back()/forward()

이전 페이지 또는 다음 페이지로 이동

close()

브라우저를 닫음

current_url

현재 URL을 추출

delete_all_cookies()

모든 쿠키를 제거

delete_cookie(name)

특정 쿠키를 제거

execute(command, params)

브라우저 고유의 명령어를 실행

execute_async_script(script, *args)

비동기 처리하는 자바스크립트를 실행

execute_script(script, *args)

동기 처리하는 자바스크립트를 실행

 드라이버 조작

메서드명

설명

save_screenshot(filename)

스크린샷을 저장

set_page_load_timeout(time_to_wait)

페이지를 읽는 타임아웃 시간을 지정

set_script_timeout(time_to_wait)

스크립트의 타임아웃 시간을 지정

set_window_position(x, y, windowHandle='current')

브라우저의 위치를 지정

 import 방법

from selenium import webdriver

 webdriver 객체 생성

driver = webdriver.Chrome('크롬드라이버 위치')

 implicitly_wait?

브라우저에서 사용되는 엔진 자체에서 파싱되는 시간을 기다려주는 메소드

암묵적으로 사용하는 메소드

 implicitly 객체 생성

driver.implicitly_wait(3)

 driver.get()

- 가장 일반적인 방법

driver.get(‘URL’)

from selenium import webdriver

options = webdriver.ChromeOptions()
driver = webdriver.Chrome('C:\\chromedriver\\chromedriver')
driver.get('http://pythonscraping.com/pages/files/form.html')

firstnameField = driver.find_element_by_name('firstname')
lastnameField = driver.find_element_by_name('lastname')
submitButton = driver.find_element_by_id('submit')

firstnameField.send_keys('An')
lastnameField.send_keys(‘Kiwoong')
submitButton.click()

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome('C:\\chromedriver\\chromedriver')
driver.implicitly_wait(3)

id = ‘Google ID'
pw = ‘Google PW'

# gmail.com 자동 로그인
driver.get('https://accounts.google.com/ServiceLogin/identifier?service=mail&passive=true&rm=false&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&ss=1&scc=1&ltmpl=default&ltmplcache=2&emr=1&osid=1&flowName=GlifWebSignIn&flowEntry=AddSession')
driver.find_element_by_name('identifier').send_keys(id)
driver.find_element_by_xpath('//*[@id="identifierNext"]').click()
driver.find_element_by_name('password').send_keys(pw)
driver.find_element_by_xpath('//*[@id="passwordNext"]').send_keys(Keys.ENTER)

from selenium import webdriver

driver = webdriver.Chrome('C:\\chromedriver\\chromedriver')
driver.implicitly_wait(3)

# 일회용 로그인 페이지
driver.get('https://nid.naver.com/nidlogin.login?mode=number')

elem_login = driver.find_element_by_id("disposable_num")
elem_login.clear()

# 네이버 앱 실행 -> 왼쪽 상단 삼선 -> 오른쪽 상단 설정 아이콘 -> 네이버 계정 정보 -> 1회용 로그인 번호 받기
elem_login.send_keys('1회용 패스워드')
driver.find_element_by_xpath('//*[@id="frmNIDLogin"]/fieldset/span/input').click()

driver.get('http://mail.naver.com/')

titles = driver.find_elements_by_css_selector("strong.mail_title")

for title in titles:
    print(title.text)

driver.quit()

from selenium import webdriver

id = ‘Daum ID'
pw = ‘Daum PW'

# 다음 로그인
driver = webdriver.Chrome('C:\\chromedriver\\chromedriver')
driver.implicitly_wait(3)
driver.get('https://logins.daum.net/accounts/toploginform.do')
driver.find_element_by_id('id').send_keys(id)
driver.find_element_by_id('inputPwd').send_keys(pw)
driver.find_element_by_xpath('//*[@id="loginSubmit"]').click()

driver.find_element_by_xpath('//*[@id="mArticle"]/div[1]/div[2]/ul/li[1]/em/a').click()

titles = driver.find_elements_by_css_selector("strong.tit_subject")

for title in titles:
    print(title.text)

driver.quit()