web-dev-qa-db-fra.com

Plusieurs boutons avec le même type et id

Je suis nouveau dans Sélénium. Voici mon code.

<input type="submit" id="button" value="Edit"/>

J'ai 3 boutons avec le même type, id et valeur. Comment cliquer sur chacun des boutons? Quelqu'un peut-il m'aider avec le XPath?

7
cxyz

utilisez xpath basé sur l’index comme // input [1] et // input [2] et ainsi de suite.

5
Abhishek_Mishra

J'ai résolu ce problème de la manière suivante:

String cssSelectorOfSameElements="input[type='submit'][id='button']";

 List<WebElement> a=driver.findElements(By.cssSelector(cssSelectorOfSameElements)) ;
 a.get(0).click();
//a.get(1).click();
//a.get(2).click();

dépend du bouton sur lequel vous devez cliquer. J'espère que cela fonctionne pour vous.

5
eugene.polschikov

Identifier l'élément indépendant D'abord, postez vous permettant d'identifier l'élément dépendant.

Imaginons par exemple que vous ayez un bouton à côté de pays comme l’Inde, les États-Unis et l’Australie. Si vous souhaitez cliquer sur le bouton situé à côté de USA, écrivez mieux xpath pour identifier les États-Unis et revenez un peu en arrière dans l’arborescence HTML et identifiez le bouton qui fonctionne à 100% pour tout le monde.

2
Faizal Ahmed

Il existe un autre moyen le plus simple pour nous trouver le seul xpath nous pouvons générer le

indexing like xpath = (// entrée [@ id = 'ndncchk']) [0], xpath = (// entrée [@ id = 'ndncchk']) [1], xpath = (// input [@ id = 'ndncchk']) [2]

ou nous pouvons trouver le xpath absolu le chemin est:

eu à firebug> open firebug> allez à firepath> il y aura une petite liste déroulante choisie Genarate absolue xpath:

ça va ressembler à:

html/body/div[1]/form[1]/div[2]/div/div[2]/div[2]/div/div[3]/div[17]/div[2]/input[1]
html/body/div[1]/form[1]/div[2]/div/div[2]/div[2]/div/div[3]/div[17]/div[2]/input[2]...
2
vishal Singh

Celui-ci a fonctionné pour moi lorsque j'ai essayé de localiser les multiples boîtes à options à partir de la console chrome.

$x("//select[@class='form-control']")[1]

Il m'a renvoyé la bonne liste déroulante avec toutes les options ci-dessous.

0
Maravilloso'AK

Essayez //input[@id='button' and @value='Edit'][1]. Généralement, j'aime voir quels sont les nœuds parents et peut-être spécifier les parents afin qu'ils deviennent uniques.

0
Nora