这是显示 webkit的类
class baidubro(QtCore.QObject): """docstring for baidubor""" def __init__(self): QObject.__init__(self) self.fuck='123' self.app = QApplication(sys.argv) self.webview = QWebView() self.page=self.webview.page() self.current = "https://passport.baidu.com/v2/?reg" self.frame = self.page.mainFrame() QtCore.QObject.connect(self.frame,QtCore.SIGNAL('loadFinished(bool)'),self.do_do) self.webview.show() self.frame.load(QUrl(self.current)) sys.exit(self.app.exec_()) def do_do(self,bool): url = self.frame.url() js="setTimeout(function (){document.getElementById('TANGRAM__PSP_4__account').value="+self.fuck+";document.getElementById('TANGRAM__PSP_4__password').value='11111';document.getElementById('TANGRAM__PSP_4__password').focus();},1800);setTimeout(function (){document.getElementById('TANGRAM__PSP_4__verifyCodeSend').click();},2800)" self.frame.evaluateJavascript(js)
我是这样调用的
import baidubro baidubro.baidubro() print 'asd'
发现 我只要不关掉 pyqt 创建的浏览框 后面的asd 就不会输出!
现在想要再 浏览框开启的状态 后台获取数据 填入表单内!
最近刚刚学的Python 问题可能有点弱智!
以前编程都是 VB 易语言 PHP 引包 突然有点不适应。。。。
代码不能格式化 我也是醉了!!!
还是上图吧
http://i2.tietuku.com/14107f3b16aebe9f.png
调用
![]() | 1 csslayer 2015-03-12 02:01:32 +08:00 self.app.exec_() 直到程序退出才返回的,从这里进入 Qt 的主循环了。 你应该把后面的功能实现在 do_do 里面,或者定义一个新的 signal emit 出去。 而且 QApplication 的创建不应该放在 QObject 里面,建议找个 pyqt 的例子自己先从头了解一下。 有 UI 的程序都要考虑是事件驱动的而不是纯粹的过程。 |
![]() | 2 Livid MOD PRO |
![]() | 3 Livid MOD PRO 为你调整了一下这个帖子。现在已经可以格式化代码。 |
![]() | 4 m939594960 OP @csslayer 感谢你的回复 pyqt 的例子我也再找 还没找到! 一时半会不知道找啥 能找到例子! |
![]() | 5 csslayer 2015-03-13 06:46:40 +08:00 |