1. RFS对javascript的调用
(1)调用javascript语句
(2)调用javascript函数
2. IE8不支持javascript的 getElementsByClassName方法,可通过以下的方法进行调用
function getClassNames(classStr,tagName,framesIndex) {
var nodes = window.document.getElementsByTagName(tagName),ret = [];
for(i = 0; i < nodes.length; i++) {
if(hasClass(nodes[i],classStr)){
ret.push(nodes[i])
console.log(nodes[i]);
}
} return ret;
} function hasClass(tagStr,classStr){
var arr=tagStr.className.split(/\s+/ ); //这个正则表达式是因为class可以有多个,判断是否包含
for (var i=0;i<arr.length;i++){
if (arr[i]==classStr){
return true ;
}
}
return false ;
} console.log(getClassNames("test","span")[0].type);
网上获取的代码,存在以下的问题:
(1) 无法获取window窗口下frame表单中元素节点的属性值
(2) 如果className中包含空格,此代码将无法找到className
3. 运行javascript遇到的问题
【环境】:IE8
【问题】:程序报以下的错误:WebDriverException: Message: u'JavaScript error'
【解决方法】:
(1)可能是IE开启了安全模式,去掉安全模式
(2) IE8及以下的版本运用了getElementsByClassName方法,具体解决方法,可参考上面。最好的方法是加上ID或者Name。