(xpath, contextNode, doc)
| 4554 | } |
| 4555 | |
| 4556 | function getAllElementsByXpath(xpath, contextNode, doc) { |
| 4557 | if (doc && doc.ownerDocument) doc = doc.ownerDocument; |
| 4558 | doc = (doc && doc.evaluate) ? doc : document; |
| 4559 | contextNode = contextNode || doc; |
| 4560 | var result = []; |
| 4561 | try { |
| 4562 | var query = doc.evaluate(xpath, contextNode, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); |
| 4563 | for (var i = 0; i < query.snapshotLength; i++) { |
| 4564 | var node = query.snapshotItem(i); |
| 4565 | if (node.nodeType === 1) { |
| 4566 | result.push(node); |
| 4567 | } |
| 4568 | } |
| 4569 | } catch (err) { |
| 4570 | debug(`Invalid xpath: ${xpath}`); |
| 4571 | } |
| 4572 | return result; |
| 4573 | } |
| 4574 | |
| 4575 | function isXPath(xpath) { |
| 4576 | if (!xpath) { |
no test coverage detected