2
我正在寫一個小型桌面應用程序在PYQT python中,它有一個QWeb View瀏覽器。我在此瀏覽器中添加了一項功能,當用戶使用鼠標選擇任何文本並右鍵單擊並按下show xpath時,會執行javascript來查找xpath。 這裏是我的代碼:jquery不能在PyQt中工作
@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
,任何人可以幫助我解決這個問題?
jQuery是一個第三方JavaScript庫,因此如果沒有下載並運行它,這將無法正常工作 –