2017-09-18 123 views
1

我試圖使用WebdriverIO的execute方法傳遞一個瀏覽器對象是這樣的:如何將對象參數傳遞給browser.execute方法?

describe('reference',() => { 

    it('test browser',() => {  

     browser.execute(function(){ 
      console.log('BROWSER:', browser); 
     });    
    }); 
}); 

但有一個錯誤:

Failed: unknown error: browser is not defined

我怎樣才能把我的瀏覽器對象,以自定義的功能?

回答

0

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分鐘的視頻。