Zugriff auf das DOM mit Python in webkitgtk
By zefanja
Während der Entwicklung von SaleZ stand ich vor dem Problem, dass ich Werte aus dem Document Object Model (DOM) auslesen wollte. In Webkit gibt es zwar die Funktion get_dom_document, allerdings ist sie noch nicht in der Version von Webkit enthalten, welche mit Ubuntu 10.04 mitgeliefert wird. Nach einiger Suche im Netz habe ich dann eine Lösung für das Problem gefunden.
Mit Hilfe des folgenden Codes kann man sich den Inhalt eines bestimmten Elements ausgeben:
import jswebkit
ctx = jswebkit.JSContext(webView.get_main_frame().get_global_context())
text = ctx.EvaluateScript("document.getElementById("fooBar").innerHTML")
Möchte man hingegen das DOM manipulieren, kann man die execute_script Funktion eines WebViews nutzen:
webView.execute_script('document.getElementById("foobar").innerHTML = "foo bar"')