Node.js上的Selenium Web驱动程序-如何访问全局窗口变量



Node.js应用程序,selenium网络驱动程序,Chrome无头。我的应用程序需要抓取一个网站列表,其中一个网站已将信息附加到全局窗口变量中。

我尝试了以下操作,但它抛出了一个错误:

// .... more code to load page up to this point
driver.execute(function () {
console.log(window.info);
return window;
}).then(function (result) {
console.log( "nninfo from window object: " + util.inspect(result) );
}).catch( (err) => {
console.error(" Caught Error for window: " + err);
});
// throws ERROR:  Caught Error for window: TypeError: command.setParameter is not a function

有没有办法从Selenium访问全局窗口变量(最好是headless,但如果我应该使用head,那么我可以尝试(?

没关系,我找到了答案。

方法是executeScript((而不是execute((。

driver.executeScript("return window.info")
.then(function (result) {
console.log( "nninfo from window object: " + util.inspect(result) );
}).catch( (err) => {
console.error(" Caught Error for window: " + err);
});

相关内容

  • 没有找到相关文章

最新更新