尝试使用intern leadfoot

时间:2016-04-27 18:00:51

标签: intern leadfoot

当我调用switchToWindow(句柄)时,我收到以下错误: 条目中的空值:name = null

当我尝试切换并且句柄不为空或空时,原始窗口仍然打开。以下是我使用的代码:

var session = this.remote;
var handle;

return session
    .get('http://www.google.com')
    .getCurrentWindowHandle()
    .then(function (currentHandle) {
        console.log('handle: ' + currentHandle);
        handle = currentHandle;
    })
    .execute(function() {
        var newWindow = window.open('https://www.instagram.com/', 'insta');
    })
    .switchToWindow('insta')
    .closeCurrentWindow()
    .then(function () {
        console.log('old handle: ' + handle);
    })
    .sleep(2000)
    .switchToWindow(handle);

1 个答案:

答案 0 :(得分:1)

命令链是一个JavaScript表达式。这意味着同步地一次评估链中所有调用的所有参数。在链接顶部附近的handle回调中分配then时,它不会影响链底部的switchToWindow回调,因为{handle 1}}在执行then回调之前已经被评估过了。

如果你想在链的早期保留对某个值的引用,并在以后使用它,那么这两个用法都应该在then回调中。

return session
    ...
    .then(function (currentHandle) {
        handle = currentHandle;
    })
    ...
    .then(function () {
        return session.switchToWindow(handle);
    });