Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyQt“;没有响应”;_Python_Selenium_Pyqt - Fatal编程技术网

Python PyQt“;没有响应”;

Python PyQt“;没有响应”;,python,selenium,pyqt,Python,Selenium,Pyqt,我将Selenium与Python结合使用。单击按钮时,我在widows Python中收到一条消息: 在widows Python中没有响应 我有以下脚本: ####档案:曲 ###档案:qm 档案:qf 实际上,您的主GUI根本没有被冻结,只是在执行log并将控制权返回到主GUI时才冻结,因为您没有在应用程序中实现任何类型的线程机制 因此,作为一种解决方案,您需要使用线程log方法来阻止主GUI,使用threading模块,以下是一种通用方法,您需要了解更多信息: 1-在qu.py文件中导入

我将Selenium与Python结合使用。单击按钮时,我在widows Python中收到一条消息:

在widows Python中没有响应 我有以下脚本:

####档案:曲 ###档案:qm 档案:qf

实际上,您的主GUI根本没有被冻结,只是在执行
log
并将控制权返回到主GUI时才冻结,因为您没有在应用程序中实现任何类型的线程机制

因此,作为一种解决方案,您需要使用线程
log
方法来阻止主GUI,使用
threading
模块,以下是一种通用方法,您需要了解更多信息:

1-
qu.py
文件中导入线程

2-在
qu.py
中也定义此方法:

def launch_Selenium_Thread(self):
        t = threading.Thread(target=self.log)
        t.start()
3-将
按钮的
连接方法更改为:

QtCore.QObject.connect(self.pushButton,QtCore.SIGNAL(_fromUtf8("clicked()")), self.launch_Selenium_Thread)
4-添加
qf.py
log3
方法,
txt
参数:

def log3(self, txt):        
        text =unicode(txt)
        print text
5-最后在
qu.py
log2
方法中修复:

def log2(self):
            from qf import functon 
            n=functon()
            txt = self.lineEdit.text()
            n.log3(txt) 

太棒了,非常感谢。无论是东方还是西方,“铁拳”都是最好的。@AhmadAli…很高兴能帮上忙...)
QtCore.QObject.connect(self.pushButton,QtCore.SIGNAL(_fromUtf8("clicked()")), self.launch_Selenium_Thread)
def log3(self, txt):        
        text =unicode(txt)
        print text
def log2(self):
            from qf import functon 
            n=functon()
            txt = self.lineEdit.text()
            n.log3(txt)