var xpath = function(xpathToExecute){
var result = [];
var nodesSnapshot = document.evaluate(xpathToExecute, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null );
for ( var i=0 ; i < nodesSnapshot.snapshotLength; i++ ){
result.push( nodesSnapshot.snapshotItem(i) );
}
return result;
}
6 回答
你可以使用
document.evaluate
:这是w3-standardized和整个文件:https://developer.mozilla.org/en-US/docs/Web/API/Document.evaluate
https://gist.github.com/yckart/6351935
关于mozilla开发者网络的一个很好的介绍:https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#document.evaluate
在Chrome开发者工具中,您可以运行以下命令:
对于来自chrome命令行api的$ x(选择多个元素),请尝试:
此MDN概述有助于:https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript
您可以使用javascript的document.evaluate在DOM上运行XPath表达式 . 我认为它在浏览器中以某种方式支持IE 6 .
MDN:https://developer.mozilla.org/en-US/docs/Web/API/Document/evaluate
IE支持selectNodes .
MSDN:https://msdn.microsoft.com/en-us/library/ms754523(v=vs.85).aspx
确保使用正确的定位器 .
假设您的目标是开发和测试屏幕映射的xpath查询 . 然后使用Chrome's developer tools . 这允许您运行xpath查询以显示匹配项 . 或者在Firefox> 9中,您可以使用Web Developer Tools console执行相同的操作 . 在早期版本中使用x-path-finder或Firebug .