識別具有多個CSS 類別的Web 元素
您在使用@FindBy 識別具有多個CSS 類別的Web 元素時遇到問題註解。您的程式碼範例示範了 className = "value test" 的使用,這沒有考慮 CSS 類別名稱可以用空格分隔的事實。
XPath 配對策略
考慮使用 XPath 定位所需的元素。 XPath 允許您根據特定條件(包括類別名稱)來匹配元素。以下是一些需要考慮的 XPath 配對策略:
driver.findElement(By.xpath("//div[@class='value test']"));
此 XPath表達式可確保精確匹配,並且只會在指定的位置中尋找同時具有「value」和「test」類別的元素order.
driver.findElement(By.xpath("//div[contains(@class, 'value test')]"));
此表達式匹配同時包含“ value」與「test」類別的元素,不論
driver.findElement(By.xpath("//div[contains(@class, 'value') and contains(@class, 'test')]"));
此表達式確保元素同時具有「 value」和「test」類,但它不會強制執行特定的順序。
CSS 選擇器作為替代
除了 XPath 之外,CSS 選擇器也可以用來定位基於多個類別名稱的元素。考慮以下 CSS選擇器表達式:
driver.findElement(By.cssSelector("div[class='value test']"));
driver.findElement(By.cssSelector("div[class*='value test']"));
driver.findElement(By.cssSelector("div.value.test"));
結論結論
結論結論
結論結論結論結論結論結論結論結論結論結論結論結論結論無論使用 XPath 還是 CSS 選擇器,建議仔細考慮匹配標準以確保準確的元素識別。在元素具有多個類別的情況下,使用上述技術之一將使您能夠有效地定位預期的 Web 元素。以上是如何識別具有多個 CSS 類別的 Web 元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!