138 votes

Sélectionner l'élément parent d'un élément connu dans Selenium

J'ai un certain élément que je peux sélectionner avec Sélénium 1.

Malheureusement, je dois cliquer sur l'élément parent pour obtenir le comportement souhaité. L'élément que je peux facilement localiser a un attribut non sélectionnable, ce qui le rend impossible à cliquer. Comment puis-je naviguer vers le haut avec XPath ?

2voto

Utsav Jain Points 21

Nous pouvons sélectionner la balise parent à l'aide de Selenium comme suit :

driver.findElement(By.xpath("//table[@id='abc']//div/nobr[.='abc']/../.."));

cela vous aidera à trouver le grand-parent de l'élément connu. Il suffit de supprimer un (/..) pour trouver l'élément parent immédiat.

Comme :

driver.findElement(By.xpath("//table[@id='abc']//div/nobr[.='abc']/..));

Il existe d'autres façons de procéder, mais cela a bien fonctionné pour moi.

0voto

Johnes Jose Points 1

Vous pouvez le faire en utilisant /parent::node() dans le xpath. Il suffit d'ajouter /parent::node() aux éléments enfants xpath.

Par exemple : Soit xpath de l'élément enfant est chemin d'accès à l'élément enfant .

Alors le xpath de son ancêtre immédiat serait childElementXpath/parent::node() .

Xpath de son ancêtre suivant serait childElementXpath/parent::node()/parent::node()

et ainsi de suite

Vous pouvez également naviguer vers l'ancêtre d'un élément en utilisant la fonction _'childElementXpath/ancestor::*[@attr="attr_value"]'_ . Cela peut être utile lorsque vous avez un élément enfant connu qui est unique mais dont l'élément parent ne peut être identifié de manière unique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X