Maison >interface Web >tutoriel CSS >Comment puis-je localiser des éléments avec plusieurs noms de classe dans Selenium ?
Stratégies de localisation pour les éléments avec plusieurs noms de classe
L'identification d'éléments Web avec plusieurs noms de classe peut présenter un défi lors de l'utilisation de certains localisateurs qui nécessitent un valeur unique séparée par des espaces, telle que l'annotation @FindBy en Java. Pour résoudre ce problème, envisagez les stratégies alternatives suivantes :
Localisateurs XPath
Les expressions XPath offrent une flexibilité dans la mise en correspondance d'éléments en fonction de plusieurs attributs, y compris les noms de classe. Les stratégies suivantes peuvent être utilisées :
driver.findElement(By.xpath("//div[@class='value test']"));
driver.findElement(By.xpath("//div[contains(@class, 'value test')]"));
driver.findElement(By.xpath("//div[contains(@class, 'value') and contains(@class, 'test')]"));
Sélecteurs CSS
Les sélecteurs CSS offrent une autre option pour sélectionner des éléments avec plusieurs noms de classe :
driver.findElement(By.cssSelector("div[class='value test']"));
driver.findElement(By.cssSelector("div[class*='value test']"));
driver.findElement(By.cssSelector("div.value.test"));
Considérations supplémentaires
Lorsque vous utilisez plusieurs noms de classe, faites attention à ce qui suit :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!