首頁 >web前端 >css教學 >如何在 Selenium 中尋找具有多個類別名稱的 div 元素?

如何在 Selenium 中尋找具有多個類別名稱的 div 元素?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-27 06:26:10477瀏覽

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

如何識別具有多個類別名稱的 Div 元素

與 Web 元素互動時,使用類別名稱定位元素可能至關重要。然而,Selenium 的 @FindBy 註解只允許在 className 參數中使用單一類別名稱。這可能是有限制的,因為元素通常有多個類別名稱。

替代方法

要克服此限制,請考慮以下替代方案:

1。使用 xpath 參數

XPath 允許您使用複雜的表達式來識別元素。對於精確的類別匹配,您可以使用以下語法:

@FindBy(xpath = "//div[@class='value test']")
@CacheLookup
private WebElement test;

2.在XPath 中使用contains(@class)

如果元素可以具有指定類別名的任意組合,則可以使用contains(@class) 表達式:

@FindBy(xpath = "//div[contains(@class, 'value') and contains(@class, 'test')]")
@CacheLookup
private WebElement test;

3.利用 CSS 選擇器

CSS 選擇器提供了一種靈活的方法來根據多個類別名稱來定位元素。以下語法可讓您將元素與指定類別名稱的任意組合進行匹配:

@FindBy(css = "div[class*='value test']")
@CacheLookup
private WebElement test;

理解XPath 類別匹配

需要注意的是,XPath 的類別匹配規則與CSS 選擇器略有不同。如果需要精確匹配,請使用 [@class='value test']。若要符合具有任意順序或類別名稱組合的元素,請使用 [contains(@class, 'value') 和 contains(@class, 'test')].

以上是如何在 Selenium 中尋找具有多個類別名稱的 div 元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn