0

我有某种形式。我需要检查此表单中所有元素的背景颜色。但在某些元素中,颜色由 定义<style>,而另一些元素颜色由 css 定义。我需要将两种方法合二为一(在 Selenium IDE 中)

这是我的方法:

1(.style):

var form = window.document.forms[0]; 
elements = form.elements; 
for (var i = 0, len = elements.length; i < len; i++) {
    color = elements[i].style.backgroundColor;
}

2(.getcomputedstyle):

var form = window.document.forms[0]; 
elements = form.elements; 
for (var i = 0, len = elements.length; i < len; i++) {
var color = window.document.defaultView.getComputedStyle(elements[i])
        .getPropertyValue('background-color');
var colorArr = color.replace(/[\\rrgb\\(\\)]/g, '').split(','); 
var hexString = '#'
        + parseInt(colorArr[0]).toString(16)
        + parseInt(colorArr[1]).toString(16)
        + parseInt(colorArr[2]).toString(16);
}
4

1 回答 1

2

第二种方法是获取浏览器中实际显示的颜色(它们可能来自内联样式,或内部和/或外部 css),因此您根本不需要第一种(颜色可能已被覆盖)。第二种方法已经将 rgb 值转换为十六进制(您可能需要反过来吗?)

于 2012-06-05T10:41:26.663 回答