<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Webkit on zefanjas.de - Open Source &amp; Education</title>
    <link>https://zefanjas.de/tags/webkit/</link>
    <description>Recent content in Webkit on zefanjas.de - Open Source &amp; Education</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>de-DE</language>
    <lastBuildDate>Sat, 06 Nov 2010 20:36:33 +0000</lastBuildDate><atom:link href="https://zefanjas.de/tags/webkit/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Zugriff auf das DOM mit Python in webkitgtk</title>
      <link>https://zefanjas.de/zugriff-auf-das-dom-mit-python-in-webkitgtk/</link>
      <pubDate>Sat, 06 Nov 2010 20:36:33 +0000</pubDate>
      
      <guid>https://zefanjas.de/zugriff-auf-das-dom-mit-python-in-webkitgtk/</guid>
      <description>&lt;p&gt;Während der Entwicklung von &lt;a href=&#34;http://zefanjas.de/2010/11/05/salez-your-ebay-listing-tool-betatester-gesucht/&#34;&gt;SaleZ&lt;/a&gt; stand ich vor dem Problem, dass ich Werte aus dem &lt;a href=&#34;http://de.wikipedia.org/wiki/Document_Object_Model&#34;&gt;Document Object Model (DOM)&lt;/a&gt; auslesen wollte. In Webkit gibt es zwar die Funktion &lt;strong&gt;get_dom_document&lt;/strong&gt;, 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 &lt;a href=&#34;http://code.google.com/p/pywebkitgtk/issues/detail?id=4#c5&#34;&gt;Lösung&lt;/a&gt; für das Problem gefunden.&lt;/p&gt;
&lt;p&gt;Mit Hilfe des folgenden Codes kann man sich den Inhalt eines bestimmten Elements ausgeben:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import jswebkit

ctx = jswebkit.JSContext(webView.get_main_frame().get_global_context())
text = ctx.EvaluateScript(&amp;#34;document.getElementById(&amp;#34;fooBar&amp;#34;).innerHTML&amp;#34;)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Möchte man hingegen das DOM manipulieren, kann man die  &lt;strong&gt;execute_script&lt;/strong&gt; Funktion eines WebViews nutzen:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;webView.execute_script(&amp;#39;document.getElementById(&amp;#34;foobar&amp;#34;).innerHTML = &amp;#34;foo bar&amp;#34;&amp;#39;)
&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    
  </channel>
</rss>
