J'ai l'élément suivant:
Driver.driver.findElement(By.xpath("//*[@id="Palette"]//span//span[2]//span[contains(text(),'C')]"));
4 Réponses :
xpath que vous utilisez est incorrect. Je vous fournis le bon xpath ou vous pouvez également le récupérer directement à l'aide du nom de classe.
Mise à jour XPath selon la discussion: strong> p>
Merci d'avoir répondu. Mais la chose est que je ne peux pas utiliser lblselect parce que ce n'est pas unique, à l'avenir, il peut y avoir plus de lblelection.
Okk alors vous pouvez ajouter l'identifiant avec le nom de classe dans le XPath. Je modifie ma réponse, s'il vous plaît essayez cela.
Vous pouvez essayer ci-dessous XPath de suivre de DIV.
driver.findElement("//*[@id='Palette']/span[2][@class='stuffSelect']/span[1][contains(text(), 'C')]");
Veuillez essayer ci-dessous XPath.it vous imprimera "c '
Voici le XPath. Considérez la classe CSS fort> p> visible code> dans votre xpath ou CSS. Comme cela indique que cette div peut ne pas être visible parfois. Veillez donc toujours à utiliser le visible code> si vous l'avez dans le cadre de la classe. //div[@class='PickList visible']//span[@class='lblSelect']
Vous avez mentionné ci-dessous que la portée avec classe = "lblelect" ne sera pas unique. Pouvez-vous être plus précis sur ce que vous essayez d'accomplir? essayez-vous de trouver spécifiquement la portée contenant "c"? Ou essayez-vous de trouver la (s) span (s) avec classe = "StuffSelect" à l'intérieur de la div @ id = "Palette"?
Je suis d'accord avec @breakssoftware. Vos exigences ne sont pas claires du tout, et apparemment aucune des quatre solutions proposées ne fonctionne? Les doublons slashes dispersés dans votre XPath et certaines des réponses fournies n'ont pas beaucoup de sens, non plus.