Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将两个方法合并为一个(.style+;.getcomputed style)_Javascript_Selenium_Ide - Fatal编程技术网

Javascript 如何将两个方法合并为一个(.style+;.getcomputed style)

Javascript 如何将两个方法合并为一个(.style+;.getcomputed style),javascript,selenium,ide,Javascript,Selenium,Ide,我有一些表格。我需要检查这个表单中所有元素的背景色。但是在一些元素中,颜色是由定义的,而另一个元素的颜色是由css定义的。我需要将两个方法合并为一个(在Selenium IDE中) 以下是我的方法: 1(.style): var form=window.document.forms[0]; 元素=形式元素; for(var i=0,len=elements.length;i

我有一些表格。我需要检查这个表单中所有元素的背景色。但是在一些元素中,颜色是由
定义的,而另一个元素的颜色是由css定义的。我需要将两个方法合并为一个(在Selenium IDE中)

以下是我的方法:

1(.style):

var form=window.document.forms[0];
元素=形式元素;
for(var i=0,len=elements.length;i
2(.getcomputedstyle):

var form=window.document.forms[0];
元素=形式元素;
for(var i=0,len=elements.length;i
第二种方法是获取浏览器中实际显示的颜色(它们可能来自内联样式、内部和/或外部css),因此您根本不需要第一种颜色(颜色可能已被覆盖)。第二种方法是将rgb值转换为十六进制(你是否需要它?

p.S.如果你想让你的脚本在IE8中工作,我需要将颜色转换为rrggbb(十六进制),你可能需要使用。
var form = window.document.forms[0]; 
elements = form.elements; 
for (var i = 0, len = elements.length; i < len; i++) {
    color = elements[i].style.backgroundColor;
}
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);
}