네이버


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(180234)
 
        self.listWidget = QtWidgets.QListWidget(Dialog)
        self.listWidget.setGeometry(QtCore.QRect(2016014161))
        self.listWidget.setObjectName("textBrowser")
 
        self.label = QtWidgets.QLabel(Dialog)
        self.label.setGeometry(QtCore.QRect(80101616))
        self.label.setObjectName("label")
 
        self.label_2 = QtWidgets.QLabel(Dialog)
        self.label_2.setGeometry(QtCore.QRect(80702116))
        self.label_2.setObjectName("label_2")
 
        self.startButton = QtWidgets.QPushButton(Dialog)
        self.startButton.setGeometry(QtCore.QRect(501307523))
        self.startButton.setObjectName("startButton")
 
        self.lineEdit_ID = QtWidgets.QLineEdit(Dialog)
        self.lineEdit_ID.setGeometry(QtCore.QRect(303011320))
        self.lineEdit_ID.setObjectName("lineEdit_ID")
 
        self.lineEdit_PW = QtWidgets.QLineEdit(Dialog)
        self.lineEdit_PW.setGeometry(QtCore.QRect(309011320))
        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_())
 

cs


코드를 실행시킨 후 아이디와 암호 입력 > 시작을 누르면 로그인 자동화가 진행되고 끝나면 로그인 성공 텍스트가 나타난다







사전 작업은 링크 참고


파이썬에서 selenium을 이용하여 크롬 브라우저 띄우기

http://yonoo88.tistory.com/1200 





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from selenium import webdriver
import time
 
driver = webdriver.Chrome('C://chromedriver.exe')
driver.implicitly_wait(3)
driver.get('http://www.naver.com')
 
driver.maximize_window()
 
 
driver.find_element_by_class_name('lg_local_btn').click()
driver.find_element_by_id('id').send_keys('아이디')
driver.find_element_by_id('pw').send_keys('비번')
driver.find_element_by_class_name('btn_global').click()
 
time.sleep(3)
driver.close()
cs






11번가에서 아웃백 11000원 할인권이 있어 한번 가보았습니다.


지금은 종료

http://www.11st.co.kr/product/SellerProductDetail.tmall?method=getSellerProductDetail&prdNo=1500313859&xfrom=&xzone=



그리고 아무래도 할인한다 쳐도 아웃백은 원체 비싸니.. 런치타임을 생각해서 1시 예약을 했습니다.


런치 이벤트 페이지


http://www.outback.co.kr/Benefit/EventView.aspx?ei_idx=689


사실 아웃백 잘 가질 않아서 뭐가 뭔지 몰랐네요



주말 런치는 특정매장만 가능하니 확인하고 가야겠네요


http://www.outback.co.kr/Store/Lunch_10890.aspx


전 여의도로 갔습니다.




그래도 가기전  이벤트 뭐가 있나 한번 더 살펴보고 있었는데


아웃백 네이버예약이벤트가 있었습니다.


네이버 예약 치즈케이크 이벤트


http://www.outback.co.kr/Benefit/EventView.aspx?ei_idx=967


네이버 예약 페이지


http://m.store.naver.com/restaurants/list?query=%EC%95%84%EC%9B%83%EB%B0%B1%EC%98%88%EC%95%BD%EC%9D%B4%EB%B2%A4%ED%8A%B8


네이버 아이디만 있으면 간편하게 예약하고 또 치즈케이크를 덤으로 주네요


네이버 예약 페이지 들어가시면 지역별 아웃백이 나오고


원하는 지점에 들어가 예약을 클릭하면




이렇게 예약화면이 나오는데 날짜와 정보 입력하고 예약하면 끝입니다.


그럼 나중에 예약문자가 날라오고 예약날짜에 방문하시면 됩니다.







그럼 예약 확인하고 자리로 안내받게 되는데 이렇게 네이버 예약석 팻말을 두더라구요







뭐 음식은 다 아실테니 거두절미하고..

가격은 이렇게 나왔네요




11000원 할인 + 치즈케이크 값 7900 제공할인 + 통신사 할인 5%(VIP골드는 15%) 해서 3만원대로 나왔네요


치즈케이크는 먹고 나오거나 포장도 가능해요


전 포장해서 나왔고 브레드도 2개 챙겨줬네요 ㅋㅋㅋ




이게 바로 7900 치즈케이크. 무료니까요 뭐







그리고 처음 안 사실


에이드 다 먹고 리필이 가능한데 에이드가 아닌 콜라/사이다로 리필을 해주네요


전 안되는 줄 알고 아껴먹어..ㅆ...

+ Recent posts

티스토리 툴바