使用 intern leadfoot 尝试切换回原始浏览器 window 时出错
Error when trying to switch back to the original browser window using intern leadfoot
调用 switchToWindow(handle) 时出现以下错误:
条目中的空值:name=null
原来的window在我尝试切换的时候还是打开的,handle is not null or empty。这是我正在使用的代码:
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);
命令链是单个 JavaScript 表达式。这意味着链中所有调用的所有参数都会同时同步求值。当 handle
在链顶部附近的 then
回调中分配时,它不会影响链底部的 switchToWindow
调用,因为 [=11= 的值] 在 then
回调执行之前已经被评估。
如果您想在链的早期保留对某个值的引用,并在以后使用它,这两种使用都应该在 then
回调中。
return session
...
.then(function (currentHandle) {
handle = currentHandle;
})
...
.then(function () {
return session.switchToWindow(handle);
});
调用 switchToWindow(handle) 时出现以下错误: 条目中的空值:name=null
原来的window在我尝试切换的时候还是打开的,handle is not null or empty。这是我正在使用的代码:
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);
命令链是单个 JavaScript 表达式。这意味着链中所有调用的所有参数都会同时同步求值。当 handle
在链顶部附近的 then
回调中分配时,它不会影响链底部的 switchToWindow
调用,因为 [=11= 的值] 在 then
回调执行之前已经被评估。
如果您想在链的早期保留对某个值的引用,并在以后使用它,这两种使用都应该在 then
回调中。
return session
...
.then(function (currentHandle) {
handle = currentHandle;
})
...
.then(function () {
return session.switchToWindow(handle);
});