HTML如下:
<section class="my-account-box-element">
<span class="item icon-home icon-color-1"></span>
</section>
根据条件,需要根据类名从“icon-home icon-color-1”更改为“icon-home icon-color-0”进行断言。
答案 0 :(得分:1)
首先,我必须警告您在使用By
搜索时无法添加两个类,因为'item','item-home'在你的例子是相同的。我将假设主要区别在于'item-color-1'和'item-color-0'。
WebElement myAccountBoxElement = driver.findElement(By.className("my-account-box-element"));
WebElement spanItem = myAccountBoxElement.findElement(By.tagName("span"));
boolean itemColor = (spanItem.getAttribute("class").contains("item-color-1")) ? true : false;
if (itemColor) {
// do stuff for item-color-1 element
}
// do stuff for the item-color-0 element
}
如果上面的代码是实际的HTML,上面的代码应该可以正常工作,如果有更多的代码,请改用findElements()
并在其中循环。
如果因为它保留了更清晰的代码,我也选择了三元组,只要你只使用这两个元素
答案 1 :(得分:0)
根据您的需求进行更改
assertTrue(driver.findElements( By.Xpath(".//span[contains(@class,'icon-color-1')]")).size() != 0)
答案 2 :(得分:0)
也可以使用此
By.className("classname");
boolean isElementPresent = driver.findElement(By.className("classname"));