Node.js 如何将对象参数传递给browser.execute方法?
我正在尝试使用WebdriverIO的Node.js 如何将对象参数传递给browser.execute方法?,node.js,browser,webdriver-io,Node.js,Browser,Webdriver Io,我正在尝试使用WebdriverIO的execute方法传递如下浏览器对象: describe('reference', () => { it('test browser', () => { browser.execute(function(){ console.log('BROWSER:', browser); }); }); }); 但有一个错误: 失败:未知错误:
execute
方法传递如下浏览器对象:
describe('reference', () => {
it('test browser', () => {
browser.execute(function(){
console.log('BROWSER:', browser);
});
});
});
但有一个错误:
失败:未知错误:未定义浏览器
如何将浏览器对象传递给自定义函数?执行中的任何代码都在浏览器内部运行,这意味着
浏览器
对象不可用
您可以将浏览器
对象传入,但由于它无法访问WebDrivero的所有其余部分,我猜它不会像您希望的那样工作。不管怎样,下面是代码:
browser.execute(function(wdioBrowser){
console.log('BROWSER:', wdioBrowser);
}, browser);
不过,您确实可以访问普通的DOM。因此,如果要查找元素,可以执行以下操作:
browser.execute(function(){
console.log('Element:', document.querySelector('.my-selector'));
});
如果您想了解更多详细信息,我有一个8分钟的视频(列表中有23个)