0w0
[selenium] 티스토리 자동 로그인 및 자동 posting, iframe접근 본문
728x90
반응형
#coding=utf-8
import sys
import io
import time
from selenium import webdriver
class tistory_connection:
#초기화, webdriver 설정
def __init__(self):
self.bs_driver=webdriver.Chrome('C:\Workspace\webdriver\chrome\chromedriver')
#self.bs_driver.set_window_size(x, y)
#티스토리 로그인과 게시글작성
def loginNwrite(self):
self.bs_driver.get('https://www.tistory.com/auth/login/?redirectUrl=https%3A%2F%2F3210w0.tistory.com%2Fmanage')
self.bs_driver.find_element_by_id('loginId').send_keys('IDIDID')
self.bs_driver.find_element_by_id('loginPw').send_keys('PWPWPW')
self.bs_driver.implicitly_wait(1)
self.bs_driver.find_element_by_xpath("""//*[@id="authForm"]/fieldset/button""").click()
self.bs_driver.get('https://3210w0.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F')
#제목 subject
self.bs_driver.find_element_by_class_name('textarea_tit').send_keys('글적글적')
###iframe!!!!
self.bs_driver.implicitly_wait(1)
#print(self.bs_driver.find_elements_by_css_selector('iframe')[0])
#출력 결과
#< selenium.webdriver.remote.webelement.WebElement(session="e70df225f38d3bf229d3032bc3420881",element="8b9a8221-a05e-4339-856c-c3792cc5e73b") >
#첫번째 iframe 정보르 가져옴.(내용 작성부분 POST는 첫번째 iframe 이기 때문임)
self.iframe=self.bs_driver.find_elements_by_css_selector('iframe')[0]
#iframe 구성으로 전환
self.bs_driver.switch_to_frame(self.iframe)
self.bs_driver.implicitly_wait(1)
self.bs_driver.find_element_by_id('tinymce').send_keys('test input')
self.bs_driver.find_element_by_xpath("""//*[@id="tinymce"]""").send_keys('\ntest input2')
###iframe!!!!
#기본 구성으로 전환
self.bs_driver.switch_to_default_content()
time.sleep(0.1)
#완료 버튼 클릭
self.bs_driver.find_element_by_xpath("""//*[@id="kakaoWrap"]/div[3]/div[2]/button""").click()
time.sleep(0.1)
#공개발행 버튼 클릭
self.bs_driver.find_element_by_xpath("""/html/body/div[6]/div/div/div/form/fieldset/div[3]/div/button[2]""").click()
time.sleep(5)
self.bs_driver.quit()
if __name__=='__main__': #인터프리터 직접 실행 일 경우에만 실행도록하는 경우에 사용, 네임스페이스
#객체 생성
client=tistory_connection()
#스크립트 동작 시작 시간
start_time=time.time()
#프로그램 실행
client.loginNwrite()
#동작 시간
running_time=time.time()-start_time
print(running_time)
#객체 소멸
del client
728x90
반응형
'Coding > Python' 카테고리의 다른 글
[selenium] CLI, GUI (백그라운드, 포그라운드) (0) | 2019.08.10 |
---|---|
[selenium] iframe....... (1) | 2019.08.10 |
[selenium] 클릭 및 입력 전송 CLI (파이썬 자동 로그인 및 자동화) (0) | 2019.08.09 |
[selenium] 클릭 및 입력 전송 GUI (파이썬 자동 로그인 및 자동화) (0) | 2019.08.09 |
[TIME] 시간 모듈(datetime, time) 현재 시간 및 시간 구하기. (0) | 2019.08.09 |
Comments