Node.js 如何使用WebdriverIO获取窗口变量

Node.js 如何使用WebdriverIO获取窗口变量,node.js,selenium-webdriver,webdriver-io,Node.js,Selenium Webdriver,Webdriver Io,我正在尝试使用PhantomJS/Chrome运行webdriverio以加载页面,然后获取窗口对象以与其他脚本一起使用。由于某些原因,我无法获取窗口对象。每次我得到的结果都是这样的: Title is: XXXXX { state: 'pending' } 使用以下脚本: var webdriverio = require('webdriverio'); var options = { desiredCapabilities: { browserName: 'chro

我正在尝试使用PhantomJS/Chrome运行webdriverio以加载页面,然后获取窗口对象以与其他脚本一起使用。由于某些原因,我无法获取窗口对象。每次我得到的结果都是这样的:

Title is: XXXXX
{ state: 'pending' }
使用以下脚本:

var webdriverio = require('webdriverio');
var options = {
    desiredCapabilities: {
        browserName: 'chrome',
        logLevel: 'verbose'
    }
};

var client = webdriverio.remote(options);

client
     .init()
     .url('https://xxxx.com')
     .waitUntil(function () {
         return client.execute(function () {
             return Date.now() - window.performance.timing.loadEventEnd > 40000;
        }).then(function (result) {
             console.log(window);
             return window;
         });
     })
     .end();
有人知道如何修复代码,以便在页面完全加载后将窗口对象返回到我的NodeJS控制台应用程序吗


谢谢

窗口是浏览器DOM中的一个对象,因此它仅在“执行”函数中可用。如果您想访问它,可以从功能返回:

return client.execute(function () {
     return window;
}).then(function (result) {
     console.log(result);
});
这项工作也包括:

browser.execute('return window');