我正在尝试使用WebdriverIO的execute
方法来传递这样的浏览器对象:
describe('reference', () => {
it('test browser', () => {
browser.execute(function(){
console.log('BROWSER:', browser);
});
});
});
但是有一个错误:
失败:未知错误:未定义浏览器
如何将浏览器对象传递给自定义函数?
答案 0 :(得分:1)
execute
内的任何代码都在浏览器内部运行,这意味着browser
对象无法使用。
您可以传递browser
对象,但由于它无法访问其他所有WebdriverIO,我猜测它不会像您一样工作。希望。无论如何,这里是代码:
browser.execute(function(wdioBrowser){
console.log('BROWSER:', wdioBrowser);
}, browser);
您确实可以访问普通的DOM。所以如果你想找一个元素,你可以这样做:
browser.execute(function(){
console.log('Element:', document.querySelector('.my-selector'));
});
如果您正在寻找更多详情,我会在my WebdriverIO course(列表中排名第23位)上播放8分钟的视频。