Я загружаю веб-страницу в PySide. Я хочу видеть, успешно ли он загружен без ошибок. Если я получу ошибку, то я хочу знать об этом. Я не могу просто использовать параметр «успех» для сигнала, заполненного загрузкой, поскольку он всегда указывает на успех. Единственный способ я знаю, как это сделать, чтобы сделать что-то вроде этого:QWebPage - Получение списка ресурсов/Проверка страницы без ошибок
class WebPageResourceTracker(
PySide.QtCore.QObject
):
def __init__(self, url):
PySide.QtCore.QObject.__init__(self)
self.page = PySide.QtWebKit.QWebPage()
self.frame = self.page.currentFrame()
# The reason for the lambda is that otherwise I get this:
#ASSERT: "self" in file /var/tmp/portage/dev-python/pyside-1.1.0/work/pyside-qt4.7+1.1.0/libpyside/signalmanager.cpp, line 534
self.frame.loadFinished.connect(lambda ok: self.onLoadFinished(ok))
self.page.networkAccessManager().finished.connect(lambda reply: self.onResourceFinished(reply))
self.frame.setUrl(
PySide.QtCore.QUrl(
url,
)
)
def onLoadFinished(self, ok):
print 'onLoadFinished', ok
def onResourceFinished(self, reply):
print 'onResourceFinished', reply.url().toString(), reply.error()
import sys
from PySide import QtGui
app = QtGui.QApplication(sys.argv)
#WebPageResourceTracker("http://google.com")
WebPageResourceTracker(
"http://migration.tanagerproductions.com/broken.html"
)
sys.exit(app.exec_())
Но, я предположил бы, что было бы способ прямого доступа к списку ресурсов для страницы, так как Webkit инспектора, может перечислить ресурсы ...
Бонус: Я также хотел бы знать, есть ли какие-либо ошибки JavaScript на странице, как бы я это сделал?