안녕하세요 제가 만들어본 코드에서 도저히 안되는 부분이 있어서 질문 남깁니다..
1. 첫번째 클래스에 있는 QtextBrowser에 현재상태가 표시되게 하고 싶은데 안됩니다...
전역변수에서 값을 받는건 되는거 같은데 두번째 클래스에서 첫번째 클래스로 값을 보내는 건 안되는 것 같더라구요..
2. 다른 방법으로 현재 상태가 어떻다! 표시할 수 있는 방법은 없나요?
import sys
from PyQt5.QtWidgets import *
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import sys
import time
import pyperclip
from PyQt5.QtCore import *
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.Qline = QLineEdit()
self.Qline1 = QLineEdit()
self.Qline1.returnPressed.connect(self.append_text)
self.Qline2 = QLineEdit()
self.Qline2.returnPressed.connect(self.append_text1)
self.Qline3 = QLineEdit()
self.Qline3.returnPressed.connect(self.append_text2)
self.Browser = QTextBrowser()
self.Browser.setAcceptRichText(True)
self.Browser.setOpenExternalLinks(True)
self.Browserr = QTextBrowser()
self.Browserr.setAcceptRichText(True)
self.Browserr.setOpenExternalLinks(True)
self.Browser1 = QTextBrowser()
self.Browser1.setAcceptRichText(True)
self.Browser1.setOpenExternalLinks(True)
self.Browser2 = QTextBrowser()
self.Browser2.setAcceptRichText(True)
self.Browser2.setOpenExternalLinks(True)
self.Browser3 = QTextBrowser()
self.Browser3.setAcceptRichText(True)
self.Browser3.setOpenExternalLinks(True)
self.label1=QLabel('아이디:')
self.label2=QLabel('패스워드:')
self.label3=QLabel('주소:')
self.label4=QLabel('')
self.label6=QLabel('주소 입력 후 Enter')
self.label7=QLabel('')
self.label8=QLabel('')
self.label9=QLabel('검색어 :')
self.clear_btn = QPushButton('Clear')
self.clear_btn.pressed.connect(self.clear_text)
self.clear_btn2 = QPushButton('Clear')
self.clear_btn2.pressed.connect(self.clear_text2)
self.clear_btn3 = QPushButton('Clear')
self.clear_btn3.pressed.connect(self.clear_text3)
self.start = QPushButton('Start', self)
self.start.clicked.connect(self.start_text)
grid = QGridLayout()
self.setLayout(grid)
grid.addWidget(self.label1, 0, 0)
grid.addWidget(self.Qline, 0, 1)
grid.addWidget(self.label2, 1, 0)
grid.addWidget(self.Qline1, 1, 1)
grid.addWidget(self.Browser, 3, 1)
grid.addWidget(self.Browserr, 4, 1)
grid.addWidget(self.clear_btn, 5, 1)
grid.addWidget(self.label4, 6, 0)
grid.addWidget(self.label3, 7, 0)
grid.addWidget(self.Qline2, 7, 1)
grid.addWidget(self.label6, 8, 1)
grid.addWidget(self.Browser1, 9, 1)
grid.addWidget(self.clear_btn2, 10, 1)
grid.addWidget(self.label8, 13, 0)
grid.addWidget(self.label9, 14, 0)
grid.addWidget(self.Qline3, 14, 1)
grid.addWidget(self.Browser2, 15, 1)
grid.addWidget(self.clear_btn3, 16, 1)
grid.addWidget(self.label7, 17, 0)
grid.addWidget(self.start, 18, 1)
grid.addWidget(self.Browser3, 19, 1)
self.setWindowTitle('로그인 해봅시다!')
self.setGeometry(300, 100, 400, 500)
self.show()
def append_text(self):
text = self.Qline.text()
text1 = self.Qline1.text()
self.Browser.append(text)
self.Browserr.append(text1)
self.Qline.clear()
self.Qline1.clear()
def append_text1(self):
text2 = self.Qline2.text()
self.Browser1.append(text2)
self.Qline2.clear()
def append_text2(self):
text3 = self.Qline3.text()
self.Browser2.append(text3)
self.Qline3.clear()
def clear_text(self):
self.Browser.clear()
self.Browserr.clear()
def clear_text2(self):
self.Browser1.clear()
def clear_text3(self):
self.Browser2.clear()
def start_text(self):
self.Browser3.setText("검색 시작!")
self.worker = WorkerThread()
self.worker.start()
global a
a = self.Browser.toPlainText()
global b
b = self.Browserr.toPlainText()
global c
c = self.Browser3
class WorkerThread(QThread, QWidget):
def run(self):
self.actions
ppap = a.split('\n')
ppap2 = b.split('\n')
i = 0
while i < len(ppap):
driver = webdriver.Chrome(executable_path=r'C:\\newdongwoo\\chromedriver.exe')
driver.get("https://nid.naver.com/nidlogin.login?svctype=262144&url=https%3A%2F%2Fnid.naver.com%2Fmobile%2Fuser%2Fhelp%2FnaverProfile.nhn%3Flang%3Dko_KR")
login_btn = driver.find_element_by_id('log.login')
tag_id = driver.find_element_by_name('id')
tag_pw = driver.find_element_by_name('pw')
tag_id.clear()
tag_id.click()
c.setText("이 코드에서 값을 못 보내는 듯 합니다..")
pyperclip.copy(ppap[i])
tag_id.send_keys(Keys.CONTROL, 'v')
time.sleep(1)
tag_pw.click()
pyperclip.copy(ppap2[i])
tag_pw.send_keys(Keys.CONTROL, 'v')
time.sleep(1)
login_btn.click()
time.sleep(2)
i += 1
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())