Согласно документации, loadFinished должно генерироваться только после завершения загрузки всех элементов страницы.Это должно означать, что он будет вызываться только один раз, однако я заметил, что на некоторых сайтах, таких как youtube.com, он вызывается дважды?Есть ли другой способ обойти эту ошибку или какой самый надежный способ обнаружить событие page.load?
Вот тестовый код:
import sys
from PyQt4 import QtCore, QtGui, QtWebKit
from PyQt4.QtCore import QUrl
from PyQt4.QtGui import QApplication
def onDone(val):
print "Done ...",val
def onStart():
print "Started..."
app = QApplication(sys.argv)
ui = QtWebKit.QWebView()
ui.loadStarted.connect(onStart)
ui.loadFinished.connect(onDone)
ui.load(QUrl("http://www.youtube.com"))
ui.showMaximized()
sys.exit(app.exec_())
вывод:
Started...
Done ... True
Started...
Done ... True
Редактировать: Есть почти такой же вопрос , но его> 2 года и он все еще без ответа.