仿照网上代码用pyqt4弄了一个浏览器,大多数网站都能访问了,也能访问flash了,但是诸如下面一些网站不能访问,求帮忙看看,附全部代码
http://www.52xiyou.com/playgame_55_1507_xiyou_1.html
上面这个网站我就是不能访问,里面有flash还有js跳转搞来搞去的我又不太懂JS,总之可能是qtweb少开了一些支持之类的。
折腾一天了,网上能找的代码资料也都找了。。。只能求助大神们了。
里面send按钮的代码请无视掉。。。
用的pyqt4,代码如下。
上面这个网站我就是不能访问,里面有flash还有js跳转搞来搞去的我又不太懂JS,总之可能是qtweb少开了一些支持之类的。
折腾一天了,网上能找的代码资料也都找了。。。只能求助大神们了。
里面send按钮的代码请无视掉。。。
用的pyqt4,代码如下。
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
import webbrowser
class WebPage(QWebPage):
def __init__(self):
super(WebPage, self).__init__()
def acceptNavigationRequest(self, frame, request, type):
if(type == QWebPage.NavigationTypeLinkClicked):
if(frame == self.mainFrame()):
self.view().load(request.url())
else:
webbrowser.open(request.url().toString())
return False
return QWebPage.acceptNavigationRequest(self, frame, request, type)
class MyBrowser(QWidget):
def __init__(self, parent = None):
super(MyBrowser, self).__init__(parent)
self.createLayout()
self.createConnection()
def search(self):
address = str(self.addressBar.text())
if address:
if address.find('://') == -1:
address = 'http://' + address
url = QUrl(address)
self.webView.load(url)
self.webView.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks)
self.webView.page().linkClicked.connect(self.linkClicked)
self.webView.show()
def linkClicked(self, url):
self.load(url)
def createLayout(self):
self.setWindowTitle("keakon's browser")
self.addressBar = QLineEdit()
self.goButton = QPushButton("&GO")
self.sendButton = QPushButton("&Send")
bl = QHBoxLayout()
bl.addWidget(self.addressBar)
bl.addWidget(self.goButton)
bl.addWidget(self.sendButton)
self.webView = QWebView()
self.webSettings = self.webView.settings()
self.webSettings.setAttribute(QWebSettings.PluginsEnabled,True)
self.webSettings.setAttribute(QWebSettings.JavascriptEnabled,True)
self.webView.setPage(WebPage())
layout = QVBoxLayout()
layout.addLayout(bl)
layout.addWidget(self.webView)
self.setLayout(layout)
def createConnection(self):
self.connect(self.addressBar, SIGNAL('returnPressed()'), self.search)
self.connect(self.addressBar, SIGNAL('returnPressed()'), self.addressBar, SLOT('selectAll()'))
self.connect(self.goButton, SIGNAL('clicked()'), self.search)
self.connect(self.goButton, SIGNAL('clicked()'), self.addressBar, SLOT('selectAll()'))
self.connect(self.sendButton, SIGNAL('clicked()'), sendtest)
def sendtest():
import socket,sys
import struct
import binascii
host="42.51.132.111"
port=8000
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print s.getsockname()
senddata = binascii.a2b_hex ("000000220004313030370A183534386665356637306366323332316432653162383762331006")
print senddata
print repr(senddata[36])
s.send(senddata)
app = QApplication(sys.argv)
browser = MyBrowser()
browser.show()
sys.exit(app.exec_())
...全文
相关推荐
windows下安装pyqt4
- **下载Python2.7**: 访问Python官方网站(https://www.python.org/downloads/release/python-2718/)下载Python2.7的安装程序
pyqt5图片和视频浏览器
为了实现多线程播放,可以将播放逻辑封装在一个单独的线程中,防止UI冻结。4. **文件浏览器**:使用`QFileDialog`可以轻松创建一个文件浏览器,让用户选择图片或视频文件。
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
本文档主要介绍了如何利用PyQt5框架实现一个内嵌浏览器,结合JavaScript脚本进行自动化操作的具体示例。Python编程语言与PyQt5的集成使得开发者能够构建功能强大的桌面应用程序,包括浏览
python3使用pyqt5制作一个超简单浏览器的实例
下面是一个完整的示例代码:```pythonclass Form(QWidget): def __init__(self, parent=None): super(Form, self).
基于PyQt4的小型浏览器的形成
【小型浏览器的构建】构建一个小型浏览器的核心在于理解和运用网络请求与网页渲染的概念。在PyQt4中,我们可以使用QWebView和QWebPage类来实现这一目标。


