Frage

ich eine Seite mit js hat. Ich muss erhalten dom nach js auf Webseite auszuführen. Js Einsätze Text in der div mit dem Namen 'sdl'. Ich brauche Wert zwischen bekommen. Der Wert kann nicht in js Quelle analysiert wird, wird es von Js erzeugt. Wie es geht? Entschuldigung für mein Englisch.

War es hilfreich?

Lösung

Der DOM ausgesetzt ist (zumindest in pyqt> = 4.7.4)

document = webview.page().currentFrame().documentElement()
document.findAll("a") 
...

http://www.riverbankcomputing.co.uk/ static / Docs / PyQt4 / html / qwebframe.html

http://www.riverbankcomputing.co.uk/ static / Docs / PyQt4 / html / qwebelement.html

Andere Tipps

In Python können Sie Geist verwenden, die von Github Open Source und verfügbar ist. Es ist ein Python-Wrapper um die PyQt4 + WebKit Hack, das funktioniert ziemlich gut. Sie können nur das tun,

import ghost
g = ghost.Ghost()
g.open('http://stackoverflow.com/')

Jetzt g.content bezieht sich auf das Dokument, post-Rendering.

Sie kann auch auswerten JS im doc mit der evaluate Methode, und es wird die JS-Werte zurück.

Ghost macht auch die PyQt ziemlich leicht Objekte, so dass Sie Sachen zu einem Ghost Objekt tun kann, dass Geist nicht implementiert, und es wird passieren.

Ich kann nicht genau erinnern, aber ich denke, so etwas wie

g.main_frame.setContent('<b>Hello World</b>')

kann verwendet werden, um das Dokument zu setzen, während

g.content = '<b>Hello World</b>'

wirft ein. Es dauert einige zähmen, aber es dauert nicht lange, es zum Laufen zu bringen, wie Sie es haben wollen.

Die Geister docs saugen, aber die Quelle ist eine einzelne Datei und ziemlich erklärend. Ich benutze Geist und es ist in Ordnung. Nur nicht mehr als ein Ghost Objekt erstellen, sonst es zu Absturz alles tendiert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top