如何使用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”)即可。 然后,您可以解析返回的字符串,看它是否包含或不包含您关心的类名。