Heim >Web-Frontend >CSS-Tutorial >Wie finde ich ein Div-Element mit mehreren Klassennamen in Selenium?
So identifizieren Sie ein Div-Element mit mehreren Klassennamen
Bei der Interaktion mit Webelementen kann die Ausrichtung auf Elemente anhand ihrer Klassennamen von entscheidender Bedeutung sein. Die @FindBy-Annotation von Selenium erlaubt jedoch nur einen einzelnen Klassennamen im className-Parameter. Dies kann einschränkend sein, da Elemente oft mehrere Klassennamen haben.
Alternative Ansätze
Um diese Einschränkung zu überwinden, ziehen Sie die folgenden Alternativen in Betracht:
1. Verwenden Sie den xpath-Parameter
XPath ermöglicht Ihnen die Verwendung komplexer Ausdrücke zur Identifizierung von Elementen. Für genaue Klassenübereinstimmungen können Sie die folgende Syntax verwenden:
@FindBy(xpath = "//div[@class='value test']") @CacheLookup private WebElement test;
2. Verwenden Sie „contains(@class)“ in XPath
Wenn das Element eine beliebige Kombination der angegebenen Klassennamen haben kann, können Sie den Ausdruck „contains(@class)“ verwenden:
@FindBy(xpath = "//div[contains(@class, 'value') and contains(@class, 'test')]") @CacheLookup private WebElement test;
3. Verwenden Sie CSS-Selektoren
CSS-Selektoren bieten eine flexible Möglichkeit, Elemente basierend auf mehreren Klassennamen gezielt anzusprechen. Mit der folgenden Syntax können Sie Elemente mit einer beliebigen Kombination der angegebenen Klassennamen abgleichen:
@FindBy(css = "div[class*='value test']") @CacheLookup private WebElement test;
Grundlegendes zum XPath-Klassenmatching
Es ist wichtig zu beachten, dass XPaths Klassenmatching erfolgt Regeln unterscheiden sich geringfügig von CSS-Selektoren. Wenn Sie eine genaue Übereinstimmung benötigen, verwenden Sie [@class='value test']. Um Elemente mit beliebiger Reihenfolge oder Kombination von Klassennamen abzugleichen, verwenden Sie [contains(@class, 'value') und contains(@class, 'test')].
Das obige ist der detaillierte Inhalt vonWie finde ich ein Div-Element mit mehreren Klassennamen in Selenium?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!