Je jure que j'ai cherché Google et SE pendant des heures et je ne pouvais pas trouver tout ce qui s'applique à mon cas.Comment cliquer sur un lien qui a été trouvé en utilisant un span défini dedans?
J'ai localisé mon lien en utilisant:
WebElement element = driver.findElement(By.linkText("News"));
Ceci, cependant, ne retourne pas le lien (< a> tag), mais renvoie la durée d'une <> avec le linkText.
Voici comment la structure des liens ressemble:
<a href="________" itemprop="url" style="height: 88px; line-height: 88px;">
<span class="avia-bullet"></span>
<span class="avia-menu-text">News</span>
<span class="avia-menu-fx">
<span class="avia-arrow-wrap">
<span class="avia-arrow"></span>
</span>
</span>
<span class="dropdown_available"></span>
</a>
Alors, quand je fais: element.click();
, tout le navigateur va vers le bas avec "ElementNotInteractableException". Je pensais que cela pouvait prendre du temps, mais je lui ai donné beaucoup de temps et ça échoue toujours.
Je suppose que je ne peux pas simplement cliquer sur un < span>.
Mais comment faire référence à son parent (le < a>)?
J'ai essayé:
element=element.findElement(By.xpath("parent"));
element=element.findElement(By.xpath(".."));
try element = élément.findElement (By.xpath ("./ ..")); './ 'dans xpath représente le noeud courant. Eh bien, cela ne fonctionnera pas parce que ce n'est pas le 'A' qui contient le test = News, c'est un 'Span' ... – yong