的HTML如下:如何使基於在網絡驅動程序類名斷言
<section class="my-account-box-element">
<span class="item icon-home icon-color-1"></span>
</section>
需要提出的基於類的名稱從「圖標,主頁圖標顏色-1的變化斷言'到'icon-home icon-color-0',這取決於條件。
的HTML如下:如何使基於在網絡驅動程序類名斷言
<section class="my-account-box-element">
<span class="item icon-home icon-color-1"></span>
</section>
需要提出的基於類的名稱從「圖標,主頁圖標顏色-1的變化斷言'到'icon-home icon-color-0',這取決於條件。
首先我必須警告你不能添加使用By
它搜索時兩班,因爲「項目','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()
和循環。
同時我也有,如果因爲它使一個更乾淨的代碼三元,爲您提供只與這兩個因素的工作
變化,按您的需求
assertTrue(driver.findElements(By.Xpath(".//span[contains(@class,'icon-color-1')]")).size() != 0)
也可以使用此
By.className("classname");
boolean isElementPresent = driver.findElement(By.className("classname"));
不知道我理解你的問題,你正在尋找在這裏是一個斷言,或者一個如何根據類來確定如何操作元素? – aimbire 2013-05-08 12:11:00
是的,如何基於類名來操作「item icon-home icon-color-1」。 item icon-home icon-color-1表示true,項目icon-home icon-color-0表示爲false。 – user2340124 2013-05-08 14:27:25
我已經提供了一個答案,讓我知道它以任何方式幫助你,希望我能理解你的問題。 – aimbire 2013-05-08 14:47:25