[英]jquery not working in PyQt
我正在用具有QWeb View浏览器的PYQT python编写一个小型桌面应用程序。 我正在向该浏览器添加一项功能,当用户使用鼠标并右键单击并选择show 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。内部的alert语句没有在内部执行,但是当我在返回值后在javascript之外尝试它时,它开始工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.