jquery 无法在 PyQt 中工作

jquery not working in PyQt

我正在用 PYQT python 编写一个带有 QWeb View 浏览器的小型桌面应用程序。我正在向此浏览器添加一项功能,即当用户 select 使用鼠标并右键单击并按显示 xpath 的任何文本时,将执行 javascript 以查找 xpath。 这是我的代码:

@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,有人可以帮我解决这个问题吗?

实际上问题是 query.its 中的警报语句没有在内部执行但是当我在返回值后在 javascript 之外尝试它时,它开始工作