Obtenez de l'élément de la page par l'attribut title de Sélénium et de Java

Je vais essayer d'obtenir l'image qui a le mot "Collector" dans son titre et cliquez sur elle.
C'est le code html de l'image et son lien:

<a href="javascript:*command*" title="Level III: KPI Collector RYG of D D/Testing - SYS">
<img src="*unusable link because it's only valid for the specific page*" title="Level III: KPI Collector RYG of D D/Testing - SYS">

La <a> et <img> les balises sont imbriquées dans une cellule de tableau et quelques divs. Je n'ai pas écrit le code html afin de ne pas me crier après si c'est moche :p

Voici le code java où j'essaie de le faire:

WebElement trafficLight = driver.findElement(By.xpath("//img[contains(@title,'Collector')]"));
trafficLight.click();

L'erreur que j'obtiens est:

Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"//img[contains(@title,'Collector')]"}

Je suis sûr que le xpath est ok donc je ne pense pas que c'est la question.

  • Vérifier si l'élément est à l'intérieur d'un cadre
  • Oui, il me semble que c'est dans un <iframe>. L'emplacement de l'image de la hiérarchie, c'est comme cela: <ton of divs>-><iframe> <body> -> <table> -> <tr> -> <td> -> <div> -> <span> -> <a> -> <img>. Je devine qu'il y a une autre façon de l'obtenir, alors?
  • L'élément a été dans un <iframe>. Pour y accéder, j'ai utilisé la réponse ici: stackoverflow.com/questions/24247490/...
InformationsquelleAutor Vlad | 2015-07-07