检查C#中的按钮颜色

时间:2018-08-06 15:38:13

标签: c# selenium-webdriver

我编写了以下函数,以使用C#硒Web驱动程序验证按钮的颜色,但是它返回false并且不知道问题出在哪里:

public Boolean check_source_button_color()
{
    Boolean Cond1 = false;

    try
    {
        String headerColor = driver.FindElement(By.XPath("//div[13]/div/a"))
            .GetCssValue("background-color");

        if (Assert.Equals("#15688f", headerColor))    
        {
            Cond1 = true;
        }
    }
    catch { };

    return Cond1;
}

在这个问题上我称之为

if (Req_det_page.check_source_button_color())
{
    Cond3 = true;
}

Cond3始终为false。

1 个答案:

答案 0 :(得分:1)

这是编辑后的代码,效果很好。

   public Boolean check_source_button_color()
        {
            Boolean Cond1 = false;
            try
            {
                string headerColor = (driver.FindElement(By.LinkText("Go to regulatory source website")).GetCssValue("background-color"));

                String[] hexValue = headerColor.Replace("rgba(", "").Replace(")", "").Split(',');

                hexValue[0] = hexValue[0].Trim();

                int hexValue1 = int.Parse(hexValue[0]);

                hexValue[1] = hexValue[1].Trim();

                int hexValue2 = int.Parse(hexValue[1]);

                hexValue[2]  = hexValue[2].Trim();

                int hexValue3 = int.Parse(hexValue[2]);

                hexValue[3] = hexValue[3].Trim();

                int hexValue4 = int.Parse(hexValue[3]);

                String actualColor = String.Format("#{0:X2}{1:X2}{2:X2}", hexValue1, hexValue2, hexValue3);

                Console.WriteLine( headerColor);
                Console.WriteLine("actualColor is " + actualColor);

                if (actualColor.Equals("#1e95ce"))
                {
                    Cond1 = true;
                }

                }
            catch (System.Exception ex )
            {
                Console.WriteLine(ex.Message);
            }
            return Cond1;
        }