Maison > interface Web > tutoriel CSS > Comment identifier les éléments Web avec plusieurs classes CSS ?

Comment identifier les éléments Web avec plusieurs classes CSS ?

Mary-Kate Olsen
Libérer: 2024-11-24 01:03:15
original
814 Les gens l'ont consulté

How to Identify Web Elements with Multiple CSS Classes?

Identification d'un élément Web avec plusieurs classes CSS

Vous rencontrez un problème lors de l'identification d'un élément Web avec plusieurs classes CSS à l'aide de @FindBy annotation. Votre exemple de code démontre l'utilisation de className = "value test", qui ne tient pas compte du fait que les noms de classe CSS peuvent être séparés par des espaces.

Stratégies de correspondance XPath

Pensez à utiliser XPath pour localiser l'élément souhaité. XPath vous permet de faire correspondre des éléments en fonction de critères spécifiques, notamment les noms de classe. Voici quelques stratégies de correspondance XPath à considérer :

  • Correspondance exacte :
driver.findElement(By.xpath("//div[@class='value test']"));
Copier après la connexion

Cette expression XPath garantit une correspondance exacte et ne fera que trouver des éléments avec les classes "value" et "test" dans l'ordre spécifié.

  • Classe Contient :
driver.findElement(By.xpath("//div[contains(@class, 'value test')]"));
Copier après la connexion

Cette expression correspond aux éléments qui contiennent à la fois les classes "value" et "test", quel que soit leur ordre.

  • Correspondance de classe individuelle :
driver.findElement(By.xpath("//div[contains(@class, 'value') and contains(@class, 'test')]"));
Copier après la connexion

Cette expression garantit que l'élément a à la fois le "value" et "test", mais il n'applique pas d'ordre spécifique.

Le sélecteur CSS comme alternative

En plus de XPath, les sélecteurs CSS peuvent également être utilisé pour localiser des éléments en fonction de plusieurs noms de classe. Considérez les expressions de sélecteur CSS suivantes :

  • Correspondance exacte :
driver.findElement(By.cssSelector("div[class='value test']"));
Copier après la connexion
  • Correspondance de sous-chaîne de classe :
driver.findElement(By.cssSelector("div[class*='value test']"));
Copier après la connexion
  • Cours individuel Correspondance :
driver.findElement(By.cssSelector("div.value.test"));
Copier après la connexion

Conclusion

Que vous utilisiez des sélecteurs XPath ou CSS, il est conseillé de considérer attentivement les critères de correspondance pour garantir une identification précise des éléments . Dans les cas où les éléments ont plusieurs classes, l'utilisation de l'une des techniques susmentionnées vous permettra de localiser efficacement l'élément Web souhaité.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal