【问题标题】:Get color for web table cell获取 web 表格单元格的颜色
【发布时间】:2015-01-21 18:38:05
【问题描述】:

我有一个网络表格,其中绿色行颜色表示有效数据,红色行表示无效数据。看这个截图:

http://i.stack.imgur.com/wWqxM.jpg

我可以获取行数和值,但不知道如何获取表格中每一行的颜色。

下面是获取行数和值的代码。

boolean ispresent = foxdriver.findElements(By.xpath("//*[@id='ctl00_CP_gvI']/tbody/tr/td")).size()!=0;
if (ispresent = true) {
    List<WebElement> drup = foxdriver.findElements(By.xpath("//*[@id='ctl00_CP_gvI']/tbody/tr/td"));
    int druplst = drup.size();
    System.out.println(druplst);
    for (int x=2; x <= druplst; x++) {
        String drupname = foxdriver.findElement(By.xpath("//*[@id='ctl00_CP_gvI']/tbody/tr["+x+"]/td[1]")).getText().trim();
        System.out.println(drupname);
    }
}

【问题讨论】:

  • 您需要提供构成表格的 HTML 样本。行颜色是硬编码到style 属性中,还是通过CSS 样式表应用,这些样式表针对表格行和单元格中的class 和/或id 属性?
  • 实际上它是一个gridview,颜色是在C#.net后端代码中给出的,它是根据条件硬编码的。

标签: java html selenium-webdriver


【解决方案1】:

您可以从background-color获得rgba值(在一般情况下

例如。在这个页面,在代码部分,你可以得到背景:

WebElement ele = driver.findElement(By.xpath("//pre"));
System.out.println(ele.getCssValue("background-color"));

这将为您提供 o/p - rgba(238, 238, 238, 1),因此您可以在您的情况下实现相同的功能,并通知字符串含义的差异,即红色或绿色。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 2017-06-05
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多