我有一些形式。我需要检查此表单中所有元素的backgroundColor。但在某些元素中,颜色由<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);
}
答案 0 :(得分:2)
第二种方法是获取实际显示在浏览器中的颜色(它们可能来自内联样式,或内部和/或外部css),因此您根本不需要第一种颜色(颜色可能已经被覆盖了)。第二种方法已经将rgb值转换为十六进制(你可能需要反过来吗?)