如何存储浏览器的值.在变量中执行脚本

Protractor - How to store the value of browser.executeScript in variable?

本文关键字:变量 脚本 执行 浏览器 何存储 存储      更新时间:2023-09-26

我试图存储浏览器的值。executeScript在我的it块中的一个局部变量,但我不能在所有情况下都这样做,它显示null。

到目前为止,我已经尝试了很多方法

browser.executeScript('$("#txtName").css("border-left-color");').then(function (color) {
    console.log("This is color" + color);
});

function returnColor() {
    var a = browser.executeScript('$("#txtName").css("border-left-color");');
    return a;
}
function getColorCode() {
    var a = returnColor().then(function(list) {
        console.log("Output is ***************" + list);
        return list;
    });
    return a;
}

我在spec中使用

   iit('', function() {        
    
             browser.executeScript('$("#txtName").css("border-left-color");').then(function (color) {
                console.log("This is color" + color);
            });
    
            returnColor();
    
    
        });
如果有人能告诉我如何正确地做这件事,我会很感激的。

您需要从脚本中获得一个return:

function returnColor()
{
    return browser.executeScript('return $("#txtName").css("border-left-color");');
}

注意,您也可以通过getCssValue()解决相同的问题:

var elm = element(by.id("txtName"));
elm.getCssValue("border-left-color").then(function (color) {
    console.log(color);
});