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?
utilisez xpath basé sur l’index comme // input [1] et // input [2] et ainsi de suite.
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.
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.
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]...
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.
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.