如何使用WebDriver(Selenium 2)检查dom是否有类?

我对Selenium很新,所以如果这是一个愚蠢的问题,我道歉。 我已经成功地将IntelliJ(Play!框架)与Selenium连接起来,并使用firefoxDrivers创建了一些测试。

我正在尝试检查页面是否已经过正确validation。

长话短说,我正在选择这样一个元素:

WebElement smallDecel = firefoxDriver.findElement(By.cssSelector("#configTable tr:nth-child(2) td .playerDecelInput")); 

我做了一些进一步的操作(清除并更改值,提交’表单’),然后我想检查输入所在的TD是否给了另一个类。

所以,问题是 – 是否有一种简单的技术可以用来确定WebElement / DOM是否指定了类?

您可以使用FindElement(By.ClassName(//name of your class)); 我建议您循环浏览并搜索DOM一段时间,或者设置Thread.sleep(xxxx),然后查找附加的类。

为了扩展Sam Woods的答案,我使用一个简单的扩展方法(这是针对C#)来测试一个元素是否具有指定的类:

 public static bool HasClass( this IWebElement el, string className ) { return el.GetAttribute( "class" ).Split( ' ' ).Contains( className ); } 

找到元素后,只需调用myElement.GetAttribute(“class”)即可。 然后,您可以解析返回的字符串,看它是否包含或不包含您关心的类名。