2016-10-04 2 views
0

Je n'arrive pas à localiser l'élément en utilisant l'une des techniques de localisateur.org.openqa.selenium.NoSuchElementException Impossible de localiser l'élément: méthode ":" texte du lien "," sélecteur ":" http: //

Jusqu'à présent, j'ai essayé By.linkText, By.cssSelector & By.xpath mais en vain. Cela se produit lorsque j'essaie de me connecter en utilisant une classe Java différente. Cependant, si j'écris tout mon code dans une seule classe java avec le sélecteur suivant (Par createAccount = By.cssSelector ("a.createAccount");) cette erreur n'est pas vue.

<a class="createAccount" href="https://www.***.com/registration/" tabindex="9"> 
<span class="fontIconCreateAccount mdxFont" aria-hidden="true"> 
<span class="icon icon--pep"> 
<span class="icon__add-button"></span> 
</span> 
</span> 
Create Account 
</a> 

Appréciez les suggestions.

EDIT: Ajout du code Java correspondant

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 

public class LoginPage { 
    private WebDriver driver; 

    public LoginPage(WebDriver driver) { 
     this.driver=driver; 
    } 

    By createAccount = By.linkText("https://***.com/registration/"); 

    //By createAccount = By.cssSelector("a.createAccount"); 
    //By createAccount = By.xpath(".//*[@id='signInBottomInformationContainer']/a"); 
    public WebElement createAccountLink(){ 
     return driver.findElement(createAccount); 
    } 
} 

Merci

+0

Pourriez-vous fournir votre code java? –

+1

Première chose - By.linkText a besoin de texte de lien ([document connexe ici] (http://www.seleniumhq.org/docs/03_webdriver.jsp#by-link-text)), pas de paramètre href. Pour trouver par href paramètre utilisation xpath –

Répondre

1

@ user1502890, essayez cette

By createAccount = By.linkText("Create Account"); 

OU

By createAccount = By.partialLinkText("Create Account"); 

Si cela ne résout pas le problème Essayez de utilisez WebDriverWait lors de la recherche des éléments.

+0

Merci beaucoup @Sandipan. Ça a marché :) – AdiBoy