<div dir="ltr"><div><p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)">'''</p><p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)">I know this is meant for pyqt but I've had little luck this that board.</p><p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)"><br></p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)">The short answer is yes, but it's a total hack...and I'm wondering if anybody has a more elegant solution. </p>
<p style="margin:0px;font-size:11px;font-family:Monaco;min-height:15px"><br></p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)">Specifically I would like to be able to fire a defer from the <span style="text-decoration:underline">javascript</span> instead of having to call alert.</p><p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)"><br></p><p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)">Below is an example of how I currently gain access...not necessarily a working version.</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)">'''<span style="color:rgb(0,0,0)"> </span></p>
<p style="margin:0px;font-size:11px;font-family:Monaco;min-height:15px"><br></p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)"><span style="color:rgb(0,0,0)">url = </span>'<a href="http://www.google.com">http://www.google.com</a>'</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;min-height:15px"><br></p>
<p style="margin:0px;font-size:11px;font-family:Monaco">mo = <span style="color:rgb(0,180,0)">"""</span></p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)"> <span style="text-decoration:underline">var</span> observer = new MutationObserver(function(mutations) {</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)"> for (<span style="text-decoration:underline">var</span> x = 0; x < mutations.length; x++) {</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)"> if (mutations[x].addedNodes.length > 0) {</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)"> alert('add nodes') </p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)"> }</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)"> }</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)"> });</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)"> <span style="text-decoration:underline">var</span> <span style="text-decoration:underline">config</span> = { attributes: true, childList: true, characterData: false }</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)"> <span style="text-decoration:underline">var</span> <span style="text-decoration:underline">nti</span> = document.querySelector('document.body')</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)"> observer.observe(<span style="text-decoration:underline">nti</span>, <span style="text-decoration:underline">config</span>); </p>
<p style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(0,180,0)">"""</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;min-height:15px"><br></p>
<p style="margin:0px;font-size:11px;font-family:Monaco">page = QWebPage()</p>
<p style="margin:0px;font-size:11px;font-family:Monaco"><span style="color:rgb(4,51,255)">def</span> alarmAction(qframe, msg):</p>
<p style="margin:0px;font-size:11px;font-family:Monaco"> <span style="color:rgb(4,51,255)">print</span> <span style="color:rgb(0,180,0)">'deferred action'</span>, qframe, msg</p>
<p style="margin:0px;font-size:11px;font-family:Monaco"><span style="color:rgb(4,51,255)">def</span> mutationHook():</p>
<p style="margin:0px;font-size:11px;font-family:Monaco"> d = defer.Deferred()</p><p style="margin:0px;font-size:11px;font-family:Monaco"> d.addCallback(alarmAction)</p>
<p style="margin:0px;font-size:11px;font-family:Monaco"> page.javaScriptAlert = d.callback</p>
<p style="margin:0px;font-size:11px;font-family:Monaco"> page.mainFrame().documentElement().evaluateJavaScript(mo)</p>
<p style="margin:0px;font-size:11px;font-family:Monaco;min-height:15px"> </p>
<p style="margin:0px;font-size:11px;font-family:Monaco">page.loadFinished(mutationHook)</p>
<p style="margin:0px;font-size:11px;font-family:Monaco">page.mainFrame().setUrl(url)</p></div><div><br></div></div>