[[http://www.gnu.org/software/pythonwebkit|PythonWebKit]] provides direct python DOM bindings to the Webkit Web Browser engine. It places python as a peer of javascript, allowing developers to call functions such as getElementsByTagName, appendChild and even add python event callbacks onto XMLHttpRequest, Window and HTML Elements (onclick, onreadystatechange, onresize etc.) The difference between PythonWebKit and [[PyWebkitGtk|PyWebkitGtk]] and [[PyWebkitQt4|PyWebkitQt4]] is that PythonWebKit adds the entire range of W3C DOM bindings functions - including HTML5 features - whereas [[PyWebkitGtk|PyWebkitGtk]] and [[PyWebkitQt4|PyWebkitQt4]] provide very little, inadequate, incomplete and more CPU-intensive DOM bindings.