2014-01-22 44 views
5

我正在使用Selenium使用Javascript編寫測試自動化。嘗試提取DOM元素的類屬性對我來說不起作用。這裏是我的代碼:Selenium使用javascript獲取元素的class屬性

var webdriver = require('selenium-webdriver'); 
var driver = new webdriver.Builder(). 
      withCapabilities(webdriver.Capabilities.ie()). 
      build(); 
var usernameField = driver.findElement(webdriver.By.id('username')); 
var classes = usernameField.getAttribute('class'); 
console.log(classes); 

此打印如下:

{ then: [Function: then], 
cancel: [Function: cancel], 
isPending: [Function: isPending] } 

請註明如何找到元素的屬性值。

+1

如何查看該「usernameField」元素的HTML? – Arran

回答

3

發現問題,在分配任何值之前,console.log()被異步觸發。強制它使用then語句順序執行解決了這個問題。

var webdriver = require('selenium-webdriver'); 
var driver = new webdriver.Builder(). 
     withCapabilities(webdriver.Capabilities.ie()). 
     build(); 
var usernameField = driver.findElement(webdriver.By.id('username')); 
usernameField.getAttribute('class') 
.then(function(classes){ 
    console.log(classes); 
}); 
相關問題