如何检查class属性是否包含某些内容?

时间:2016-01-25 12:27:10

标签: c# xpath webdriver

我有两个按钮,后面和下一个:

   By.XPath("/html/body/div/div[3]/main/div/div/form/div[1]/div[2]/div[1]/nav/div/button[1]")

   By.XPath("/html/body/div/div[3]/main/div/div/form/div[1]/div[2]/div[1]/nav/div/button[2]")

首先转到上一页,第二个转到我列表的下一页。当我打开我的页面时,第一个按钮将被禁用,直到我到达另一个页面,否则如果我的列表很短或者是emty,则两个按钮都将被禁用。如果没有禁用它们,我需要单击这些按钮。只有class属性才有区别:

class="disabled btn btn-plain btn-default-hover"
class="btn btn-plain btn-default-hover"

那么如何检查按钮类属性是否包含“已禁用”#?场景是这样的 - 如果第二个按钮处于活动状态,则单击“下一步”按钮。然后,如果第一个按钮处于活动状态,请点击“返回”

4 个答案:

答案 0 :(得分:2)

//el is the web element
if(el.getAttribute("class").split(" ").contains("disabled"))
{  
    //your code

}

答案 1 :(得分:0)

假设您有两个带有“button1”和“button2”的按钮..

您可以查看以下内容:

if(document.getElementById("button1").className.indexOf("disabled") > 1) {
  // what to do if disabled...
} else {
  // what to do if active...
}

当然,你也可以为其他按钮做同样的事情......

答案 2 :(得分:0)

使用jquery编写以下代码

var ClassAtttr = $("#YourElementId").attr("class");

 if (ClassAtttr.indexOf('Your Expression'))
 {
   //do somthing
 }

答案 3 :(得分:0)

为什么不试试'.Enabled'

WebElement backButton = driver.FindElement('Your Locator');
if(backButton.Enabled)
{
  'Your action to be performed
}