Maison > interface Web > tutoriel CSS > Comment trouver un élément Div avec plusieurs noms de classe dans Selenium ?

Comment trouver un élément Div avec plusieurs noms de classe dans Selenium ?

Mary-Kate Olsen
Libérer: 2024-11-27 06:26:10
original
513 Les gens l'ont consulté

How to Find a Div Element with Multiple Class Names in Selenium?

Comment identifier un élément Div avec plusieurs noms de classe

Lors de l'interaction avec des éléments Web, le ciblage des éléments à l'aide de leurs noms de classe peut être crucial. Cependant, l'annotation @FindBy de Selenium n'autorise qu'un seul nom de classe dans le paramètre className. Cela peut être limitant, car les éléments ont souvent plusieurs noms de classe.

Approches alternatives

Pour surmonter cette limitation, envisagez les alternatives suivantes :

1. Utilisez le paramètre XPath

XPath vous permet d'utiliser des expressions complexes pour identifier des éléments. Pour des correspondances de classe exactes, vous pouvez utiliser la syntaxe suivante :

@FindBy(xpath = "//div[@class='value test']")
@CacheLookup
private WebElement test;
Copier après la connexion

2. Utilisez contain(@class) dans XPath

Si l'élément peut avoir n'importe quelle combinaison des noms de classe spécifiés, vous pouvez utiliser l'expression contain(@class) :

@FindBy(xpath = "//div[contains(@class, 'value') and contains(@class, 'test')]")
@CacheLookup
private WebElement test;
Copier après la connexion

3. Utiliser les sélecteurs CSS

Les sélecteurs CSS offrent un moyen flexible de cibler des éléments en fonction de plusieurs noms de classe. La syntaxe suivante vous permet de faire correspondre des éléments avec n'importe quelle combinaison des noms de classe spécifiés :

@FindBy(css = "div[class*='value test']")
@CacheLookup
private WebElement test;
Copier après la connexion

Comprendre la correspondance de classe XPath

Il est important de noter que la correspondance de classe XPath les règles diffèrent légèrement des sélecteurs CSS. Si vous avez besoin d'une correspondance exacte, utilisez [@class='value test']. Pour faire correspondre des éléments avec n'importe quel ordre ou combinaison de noms de classe, utilisez [contains (@class, 'value') et contain (@class, 'test')].

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