Selenium webdriver magasin webelement dans webelement liste
Comment stocker webelement dans webelement liste? J'ai créé une liste pour webelement et en passant webelement obj en ajouter une méthode, mais le système d'affichage nulle exception.
Le Code Java: List<WebElement> element=null;
et pour la boucle, je suis de passage webelement obj en ajouter une méthode comme: WebElement we = driver...("test"); element.add(0,we);
Pourquoi je suis arriver exception de pointeur null (java.lang.NullPointerException
)?
Je vous serais reconnaissant de vos entrées.
public void test(){
List<WebElement> element = null;
int rows=1;
for(int i=1; i<=rows;i++){
text=driver.findElement(By.xpath("//*[@id='testid']/table/tbody/tr["+i+"]/td/p")).getText();
if(!text.equals("")){
for(int j=1;j<=rows;j++){
if(isElementPresent(driver, By.xpath("//*[@id='testid']/table/tbody/tr["+(j+1)+"]/td[6]/a"))){
WebElement we =driver.findElement(By.xpath("//*[@id='testid']/table/tbody/tr["+(j+1)+"]/td[6]/a"));
element.add(we);
rows++;
}
}
}else{
break;
}
}
for(WebElement we:element){
we.click();
}
}
Merci,
- Pouvez-vous ajouter l'extrait de code s'il vous plaît ?
- J'ai ajouté de l'extrait de code
- L'approche de @Nahuel ci-dessous est correct. S'il vous plaît essayer cela et laissez-nous savoir dans le cas où il y a d'autres préoccupations.. 🙂
- je veux juste savoir quand nous écrire du code comme une Liste<WebElement> element = pilote.findElements(Par.id("test")). Le système ne donne aucune exception de pointeur null. Pourquoi?
- Parce que le type de retour de findElements() la méthode est List<WebElement>. Ce lien est la méthode la description: https://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/WebDriver.html#findElements(org.openqa.selenium.By).. Espérons que vous obtenez.. 🙂
- Il ne vous donnera pas nullpointer exception, depuis findElements renvoyer une liste vide si aucun élément n'est trouvé. Exception est levée qu'en cas de findElement.
Vous devez vous connecter pour publier un commentaire.
Vous programmés élément à null, et a ensuite essayé d'ajouter quelque chose à cela. Vous ne pouvez pas ajouter quoi que ce soit comme il EST nul!
Au lieu de cela, essayez ceci:
Comme vous pouvez le voir, j'ai initialisé l'objet avant de l'utiliser, de sorte qu'il ne doit plus être null.
Interface
à l'ERS. l'utilisation d'un béton de classe commenew ArrayList<>();
Veuillez remplacer votre ligne suivante :
Avec les éléments suivants :
Vous pouvez également obtenir la taille de la liste à l'aide du Système.out.println ("nous".size());
Permettez-moi de savoir si une requête.