2016-04-22 14 views
2

私は、QWeb Viewブラウザを備えたPYQT pythonで小さなデスクトップアプリケーションを作成しています。私はこのブラウザに、マウスを使ってテキストを選択し、右クリックしてshow xpathを押すと、xpathを見つけるためにjavascriptが実行されるという機能を追加しています。ここ は私のコードです:PyQtでjqueryが動作しない

@pyqtSlot() 
def slotshowxpath(self): 

text = self.selectedText() 
if not text: 
    QMessageBox.information(self,"information","No Text Selected") 
else: 
    frame = self.page().mainFrame().documentElement() 
    #print frame.toHtml() 
    #abc = frame.document() 
    #abc.evaluateJavaScript("alert('"+self.page().selectedHtml()+"');") 
    frame.evaluateJavaScript("""var data = window.getSelection().anchorNode.parentNode; getXPath(data); 

    function getXPath(element){ 
    alert(element); 
    var xpath = ''; 
    for (; (element && element.nodeType) == 1; element = element.parentNode) 
    { 
    var id = $(element.parentNode).children(element.tagName).index(element) + 1; 
    id > 1 ? (id = '[' + id + ']') : (id = ''); 
    xpath = '/' + element.tagName.toLowerCase() + id + xpath; 
    } 
    alert(xpath); 
    return xpath;  
    }""" 
     ) 

このクエリは$(element.parentNode).childrenまで良い作業が、$(element.parentNode).children(element.tagName).index(element) + 1のために働いていない、誰もがこの問題を修正するには私を助けることができるのですか?そう、

+0

jqueryのを作業を開始しますダウンロードして実行しなくても動作しません –

答えて

0

は実際には問題はないが、内部の実行取得query.its内側に警告文を使用していたが、私は値を戻した後のjavascriptの外にそれを試みたとき、それは、サードパーティのJavaScriptライブラリです

関連する問題