具有多个类名称的元素的定位器策略
在使用某些需要多个类名称的定位器时,识别具有多个类名称的 Web 元素可能会带来挑战单个、空格分隔的值,例如 Java 中的 @FindBy 注释。要解决此问题,请考虑以下替代策略:
XPath 定位器
XPath 表达式在基于多个属性(包括类名)匹配元素方面提供了灵活性。可以使用以下策略:
driver.findElement(By.xpath("//div[@class='value test']"));
driver.findElement(By.xpath("//div[contains(@class, 'value test')]"));
driver.findElement(By.xpath("//div[contains(@class, 'value') and contains(@class, 'test')]"));
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"));
其他注意事项
使用多个类名称时,请注意以下事项:
以上是如何在 Selenium 中定位具有多个类名的元素?的详细内容。更多信息请关注PHP中文网其他相关文章!