RFS_javascript的使用

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。

原文地址:https://www.cnblogs.com/zhuhaiying/p/5286503.html