GUI를 구성하여 파이썬으로 네이버 자동 로그인 만들기
2018. 8. 23. 15:02
반응형
GUI 구성하기
Qt designer로 생성한 .ui 파일 파이썬 .py로 변환
http://yonoo88.tistory.com/1209
GUI 구성상태
기능 : ID와 PW 입력 후 시작버튼을 누름 > 동작 완료 후 listWidget에 로그인 성공 표시
아래 코드를 보면 UI 객체 명 별로 코드가 구성되어 있다
핵심은 시작 버튼에 이벤트 처리를 해주는 것. 시작 버튼 객체명은 startButton 이다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | from PyQt5 import QtCore, QtGui, QtWidgets from selenium import webdriver import time class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(180, 234) self.listWidget = QtWidgets.QListWidget(Dialog) self.listWidget.setGeometry(QtCore.QRect(20, 160, 141, 61)) self.listWidget.setObjectName("textBrowser") self.label = QtWidgets.QLabel(Dialog) self.label.setGeometry(QtCore.QRect(80, 10, 16, 16)) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(Dialog) self.label_2.setGeometry(QtCore.QRect(80, 70, 21, 16)) self.label_2.setObjectName("label_2") self.startButton = QtWidgets.QPushButton(Dialog) self.startButton.setGeometry(QtCore.QRect(50, 130, 75, 23)) self.startButton.setObjectName("startButton") self.lineEdit_ID = QtWidgets.QLineEdit(Dialog) self.lineEdit_ID.setGeometry(QtCore.QRect(30, 30, 113, 20)) self.lineEdit_ID.setObjectName("lineEdit_ID") self.lineEdit_PW = QtWidgets.QLineEdit(Dialog) self.lineEdit_PW.setGeometry(QtCore.QRect(30, 90, 113, 20)) self.lineEdit_PW.setObjectName("lineEdit_PW") self.retranslateUi(Dialog) QtCore.QMetaObject.connectSlotsByName(Dialog) #startButton 클릭시 autoExcute 함수 수행 self.startButton.clicked.connect(self.autoExcute) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Naver Login")) self.label.setText(_translate("Dialog", "ID")) self.label_2.setText(_translate("Dialog", "PW")) self.startButton.setText(_translate("Dialog", "시작")) #셀레니움 동작 코드 함수 autoExcute 생성 def autoExcute(self): driver = webdriver.Chrome('C://chromedriver.exe') driver.implicitly_wait(3) driver.get('http://www.naver.com') driver.maximize_window() id = self.lineEdit_ID.text() pw = self.lineEdit_PW.text() driver.find_element_by_class_name('lg_local_btn').click() driver.find_element_by_id('id').send_keys(id) driver.find_element_by_id('pw').send_keys(pw) driver.find_element_by_class_name('btn_global').click() time.sleep(3) driver.close() #listWidget에 로그인 성공 표시 self.listWidget.addItem('로그인 성공') # self.addItem() if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) Dialog = QtWidgets.QDialog() ui = Ui_Dialog() ui.setupUi(Dialog) Dialog.show() sys.exit(app.exec_()) |
코드를 실행시킨 후 아이디와 암호 입력 > 시작을 누르면 로그인 자동화가 진행되고 끝나면 로그인 성공 텍스트가 나타난다
반응형
'지식메모 > Python' 카테고리의 다른 글
Qt designer 로그인 GUI 에서 암호 입력시 암호 가리기 (2) | 2018.10.22 |
---|---|
Qt designer로 생성한 .ui 파일 파이썬 .py로 변환 (0) | 2018.08.17 |
python 3.7.0 에서 pyside2를 설치하여 Qt Designer 설치하기 (2) | 2018.08.14 |
파이썬에서 selenium으로 네이버 로그인 자동화하기 (0) | 2018.08.08 |
파이썬과 자바 selenium 사용법 간단한 기능 비교 및 xpath 사용법 (0) | 2018.08.08 |