Je fais un tas de document.evaluate puis je répète chaque résultat avec une boucle for sur result.snapshotLength
.Fusion de XPathResults à partir de document.evaluate
Puisque je fais la même chose à l'intérieur de chaque boucle (un thisDiv.parentNode.removeChild
) je voudrais faire une seule boucle.
J'ai lu que:
Le cinquième paramètre peut être utilisé pour fusionner les résultats de deux requêtes XPath . Passez dans le résultat d'un précédent appel à document.evaluate, et il retournera les combinés résultats des deux requêtes
J'essayé:
comDivs = document.evaluate(
"//div[@class='class name 1']",
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
ggDivs = document.evaluate(
"//div[@class='class name 2']",
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
comDivs);
Mais cela ne fonctionne pas (bien que je n'ai pas de journal des erreurs, ça ne marche tout simplement pas).
Quelle est la bonne façon de procéder? Puis-je exécuter différentes requêtes XPath et fusionner les résultats? Ou existe-t-il un moyen de transmettre des expressions régulières ou une sorte d'alternance à la requête elle-même?
Le code que j'ai pour est maintenant à: http://userscripts.org/scripts/review/58939
Merci pour votre aide!
'J'ai lu ceci: Le cinquième paramètre peut être utilisé pour fusionner les résultats de deux requêtes XPath. 'Yup, c'est certainement [supposé être le cas] (http://help.dottoro.com/ljruhkuj. php). Malheureusement, trouver un exemple d'utilisation s'avère difficile. 'Mais cela ne marche pas (bien que je n'ai pas de journal des erreurs, ça ne marche pas). 'Qu'est-ce qui s'est exactement passé? L'objet de résultats contenait-il uniquement le premier ensemble? Seulement le deuxième ensemble? Était-ce vide? (Évidemment la question est morte, mais je demande de futurs lecteurs.) – Synetech